Подстановка значений дополнительных свойств в текст описания товара

#
Подстановка значений дополнительных свойств в текст описания товара
Добрый день. Возможно кто-то сталкивался и на вскидку предложит решение. Как можно средствами hostcms подставлять в текст описания товара долнитльные свойства. конечно идеальный вариант вставлять в xslt наверное, чтоб можно было более гибко это делать.
Модератор
#
Re: Подстановка значений дополнительных свойств в текст описания товара
Вы можете использовать шорткоды
#
Re: Подстановка значений дополнительных свойств в текст описания товара
Текст шорткода может формироваться динамически через xslt с подстановкой нужного id товара? т.е. шрткоды будут обрабатываться уже того как шаблонизатор отработает верно?

Можете подсказать где глянуть вывод свойства определенного товара через ID этого товара средствами php?
Модератор
#
Re: Подстановка значений дополнительных свойств в текст описания товара
id52242,
Шорткод - это PHP-код, который вызывается при формировании текста, в данном случае описание или текст товара. Будет там XSL или не будет зависит уже того, что написано внутри шорткода.
см. https://www.hostcms.ru/documentation/modules/core/controllers/
Передача контроллеру структуры идентификатора текущего инфоэлемента и группы
if (is_object(Core_Page::instance()->object)
&& get_class(Core_Page::instance()->object) == 'Shop_Controller_Show')
{
    $itemId = intval(Core_Page::instance()->object->item);
   
   // ...
}
#
Re: Подстановка значений дополнительных свойств в текст описания товара
Я кажется понял, шорткод будет работать в контексте объекта где он вызван, правильно?

// Объект дополнительного свойства с идентификатором 123
$oProperty = Core_Entity::factory('Property', 123);
// Массив значений свойства 123 для информационного элемента $informationsystem_item_id
$aPropertyValues = $oProperty->getValues($informationsystem_item_id);


насчет доп. свойств вот пример нашел кажется, а как быть с получением свойства товара а не элемента информационной систем? Опять же должно быть указание определенного магазина? как это в нужном контексте использовать?
#
Re: Подстановка значений дополнительных свойств в текст описания товара
Обращайтесь сделаю.
Email: golden-puma@yandex.ru; Skype: golden_puma; Telegram: @GoldenPuma; Сайт: https://goldenpuma.ru
#
Re: Подстановка значений дополнительных свойств в текст описания товара
id52242,
Вам выше дали ответ hostcms как проверить контроллер показа и элемент контроллера.
По сути код будет в следующем виде, как вы хотели получить свойства текущего товара:
if (is_object(Core_Page::instance()->object)
&& get_class(Core_Page::instance()->object) == 'Shop_Controller_Show')
{
    $itemId = intval(Core_Page::instance()->object->item);
   // Если контроллер магазина и зашли на карточку товара
   if ($itemId)
   {
      $oProperty = Core_Entity::factory('Property', 123);
      // Массив значений свойства 123 для товара $itemId
      $aPropertyValues = $oProperty->getValues($itemId);
      // Проверка свойства
      $propValue = isset($aPropertyValues[0]) && $aPropertyValues[0]->value != '' ? $aPropertyValues[0]->value : 'Пусто';
   }
}


Более подробные примеры см. Работа с дополнительными свойствами
E-mail: info@syrbek.ru / телега: @syrbek /skype: activexm / syrbek.ru / Поддержка сайтов / г. Москва [HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, Git, SVN, Redmine]
Авторизация