в тупик, тем более с гуглом легче не стало.
Суть простая, мне нужно получить определённый кастомные свойства.
Я нашёл снипет и добрался в рамках товара к ним
$customfieldsModel = VmModel::getModel ('Customfields');
$pprint = $product->customfieldsSorted = $customfieldsModel->getCustomEmbeddedProductCustomFields ($product->allIds);
$p_v = $pprint[0]->options;
Но дальше, завис наглухо. Пытаюсь получить по id. Валится ошибкой, а пример в сети найти не могу. Как тут массив разобрать? Или снипет не тот и есть более простое решение.
Мне нужно получить ряд свойств и дальше шаманить в шаблоне.
Получите простот product, в нём обычно уже все есть
Это первое что сделал, но там не смог пробиться к массиву с параметрами, да и на самом деле там структура та же. Я посчитал, что просто нужно запросить объект по id. Исходя из логики, что в массиве у нас идут объекты с нумерацией по ИД продукта.
Либо напрямую, либо get ()
Та мне бы описание примера, по получению. Я их нормально не смог найти. Я печатаю массив продукта, вывожу с пре. Вижу, что всё лежит в объекте options, там как раз перечень объектов и свойств. При попытке обратится к options, получаю пустоту. Видимо пропустил уровень, а какой не вижу 😂
$product->get('options') или как он там. Если он protected
Не могу поборота, попытался поискать на гитхабе упоминания. Вижу что он может тянуть штатные свойства ($product->get('virtuemart_product_id');), но не вариативные. Что-то я уже думаю, а верно ли выбрал платформу под задачу. Явно же простая задача, получить текущее свойства выбранной вариации.
Посмотрите пример. В объекте товара есть атрибуты (о них же речь идёт?) Попробуйте. https://github.com/sergeytolkachyov/-WT-Virtuemart-Bitrix24/blob/d2af1cbfaecde6c74fd1491bfdbe0f6b4ea1d0c5/wt_vm_b24.php#L187
спасибо, про кастомные атрибуты И тут скорее всего просто мало описанных методов. Вышел из ситуации костылём $p_id = $product->virtuemart_product_id; $customfieldsModel = VmModel::getModel ('Customfields'); $pprint = $product->customfieldsSorted = $customfieldsModel->getCustomEmbeddedProductCustomFields ($product->allIds); print_r(array_values($pprint[0]->options->$p_id));
А где пытаетесь получить объект товара (product)? В карточке? В категории?
в категории, я печатаю весь массив $product и вижу там перечень свойств с его чайлдИД, но в коде не могу дойти, скорее всего какой-то под уровень упустил. Сейчас попробую ещё раз, может на свежую голову найду что не так.
Обсуждают сегодня