Тема: Вывод характеристики в произвольном месте
Здравствуйте!
Как можно вывести характеристику в произвольном месте карточки товара, при этом скрыть ее из общего списка характеристик?
Форум ReadyScript Вопросы по созданию тем оформления Вывод характеристики в произвольном месте
Страницы 1
Чтобы отправить ответ, вы должны войти
Здравствуйте!
Как можно вывести характеристику в произвольном месте карточки товара, при этом скрыть ее из общего списка характеристик?
Спасибо за подробный и быстрый ответ! Буду пробовать.
А может есть в CMS какая то готовая функция которая выводит значение характеристики по ее id? Или только способ описанный выше?
А может есть в CMS какая то готовая функция которая выводит значение характеристики по ее id? Или только способ описанный выше?
Конечно есть:
Если у нас есть объект товара то можно так:
{$product->getPropertyValueById(идентификатор нужной характеристики)} {* Получить значение по id *}
{$product->getPropertyValueByTitle('имя нужной характеристики')} {* Получить значение по названию характеристики *}Единственное, нужно предварительно наполнить товар характеристиками. Если у Вас используется в коде только один экземпляр товара, например в карточке товара (правда в карточке уже характеристики подгружены) перед вызовом метода, нужно вызвать метод:
{$product->fillProperty()} {* Наполняет характеристиками товар *}Если у Вас есть несколько или множество товаров, то есть установка массовая характеристик товарам. Например так:
{$list=$this_constroller->api->addProductsProperty($list)}где $list - массив с товарами,
а в api содержится экземпляр класса \Catalog\Model\Api
А подскажите, в smarty просто новичок и не соображу. Как сделать замену в значении характеристики через replace
т.е. допустим у меня характеристика {$product->getPropertyValueById(3)} и мне при выводе в ней надо заменить '/watch?v=' на '/embed/'
Аналог в php выглядит так
str_replace("/watch?v=","/embed/", $product->getPropertyValueById(3));{$mystr=str_replace("/watch?v=","/embed/", $product->getPropertyValueById(3))}Практически также как и в PHP
О спасибо, супер!
Точку с запятой только там лишняя
Вставка этого кода
{$product->fillProperty()}выводит надпись "Array", как от неё избавиться?
{$product->fillProperty()|devnull}{$product->fillProperty()|devnull}
Спасибо
Страницы 1
Чтобы отправить ответ, вы должны войти
Форум ReadyScript Вопросы по созданию тем оформления Вывод характеристики в произвольном месте