Модно ли вывести значение характеристики товара в HTML блок с поддержкой Smarty?
Вообщем хочу в блоке расположенном на странице товара выводить кол-во месяцев гарантии, а для разных товаров значение разное.
Как на фото…
Спасибо.
VetaIM,
По умолчанию стандартными методами это вроде сделать нельзя.
Нужно модифить.
С уважением, Alt-team.
А может можно в файле шаблона продукта вставить строку php кода с id характеристики? Или это фантастика?
[quote name='VetalM' timestamp='1419963730' post='201333']
Модно ли вывести значение характеристики товара в HTML блок с поддержкой Smarty?
Вообщем хочу в блоке расположенном на странице товара выводить кол-во месяцев гарантии, а для разных товаров значение разное.
Как на фото…
Спасибо.
[/quote]
Почему же нельзя? Вставьте, например,
<br />
{$product|fn_print_r}<br />
Распечатается весь массив данных продукта. Найдите там путь до нужного значения и выведите его. Будет что-то типа
{$product.product_features.3.value}
[quote name='eComLabs' timestamp='1420029887' post='201380']
Почему же нельзя? Вставьте, например,
<br />
{$product|fn_print_r}<br />
Распечатается весь массив данных продукта. Найдите там путь до нужного значения и выведите его. Будет что-то типа
{$product.product_features.3.value}
[/quote]
Огромное спасибо, попробую.
Всех разработчиков с Новым Годом!
Код характеристики:
[29] => Array<br />
(<br />
[feature_id] => 29<br />
[company_id] => 1<br />
[feature_type] => N<br />
[parent_id] => 0<br />
[display_on_product] => Y<br />
[display_on_catalog] => N<br />
[display_on_header] => N<br />
[description] => Гарантия<br />
[lang_code] => ru<br />
[prefix] =><br />
[suffix] => месяцев<br />
[categories_path] =><br />
[full_description] =><br />
[status] => A<br />
[comparison] => N<br />
[position] => 9<br />
[group_position] =><br />
[value] =><br />
[variant_id] => 162<br />
[value_int] => 12.00<br />
[variants] => Array<br />
(<br />
[162] => Array<br />
(<br />
[variant_id] => 162<br />
[variant] => 12<br />
[description] =><br />
[page_title] =><br />
[meta_keywords] =><br />
[meta_description] =><br />
[lang_code] => ru<br />
[feature_id] => 29<br />
[url] =><br />
[position] => 0<br />
[selected] => 162<br />
[feature_type] => N<br />
[seo_name] => 12-ru<br />
[seo_path] =><br />
)<br />
)<br />
)
Сделал вывод так:
{$product.product_features.29.value_int}
Соответственно, выводится число 12.00. Как округлить до целых?
[quote]
Сделал вывод так:
{$product.product_features.29.value_int}
Соответственно, выводится число 12.00. Как округлить до целых?
[/quote]
Попробуйте, так:
{$product.product_features.29.value_int|round}
[quote name='eComLabs' timestamp='1420029887' post='201380']
Почему же нельзя? Вставьте, например,
<br />
{$product|fn_print_r}<br />
Распечатается весь массив данных продукта. Найдите там путь до нужного значения и выведите его. Будет что-то типа
{$product.product_features.3.value}
[/quote]
Привет, подскажите в блоке смарти можно вывести группу характеристик, к примеру по коду характеристики ? как это будет выглядеть
[quote name=‘zlolik@gmail.com’ timestamp=‘1423575435’ post=‘204867’]
Привет, подскажите в блоке смарти можно вывести группу характеристик, к примеру по коду характеристики ? как это будет выглядеть
[/quote]
Распечатайте массив с данными продукта. Там в принципе все понятно по структуре будет
Такая ситуация:
кодом <br />
{$product.product_features.29.value_int|round}<br />
вывожу на странице товара в smarty блоке текст “Гарантия: 12 месяцев”.
Этот блок кэшируется и выдает везде “Гарантия: 12 месяцев”, даже если гарантии на товар нет. Если ставлю <br />
'disable_block_cache' => true,<br />
в config.local.php, то все работает как надо. Как сделать, чтобы этот блок не кэшировался?
[quote name=‘VetalM’ timestamp=‘1436807497’ post=‘222763’]
Такая ситуация:
кодом <br />
{$product.product_features.29.value_int|round}<br />
вывожу на странице товара в smarty блоке текст “Гарантия: 12 месяцев”.
Этот блок кэшируется и выдает везде “Гарантия: 12 месяцев”, даже если гарантии на товар нет. Если ставлю <br />
'disable_block_cache' => true,<br />
в config.local.php, то все работает как надо. Как сделать, чтобы этот блок не кэшировался?
[/quote]
Посмотрите видео про pho схемы блоков.
У каждого блока есть php схема, её можно изменить с помощью модуля, в схеме задаются параметры кэширования. Можно выключить кэш или указать при каких ситуациях будет очищаться кэш блока. Такие параметры есть у каждого блока.
[quote name=‘VetalM’ timestamp=‘1436807497’ post=‘222763’]
Такая ситуация:
кодом <br />
{$product.product_features.29.value_int|round}<br />
вывожу на странице товара в smarty блоке текст “Гарантия: 12 месяцев”.
Этот блок кэшируется и выдает везде “Гарантия: 12 месяцев”, даже если гарантии на товар нет. Если ставлю <br />
'disable_block_cache' => true,<br />
в config.local.php, то все работает как надо. Как сделать, чтобы этот блок не кэшировался?
[/quote]
app\schemas\block_manager\blocks.php
поменяйте
<br />
'smarty_block' => array (<br />
'content' => array (<br />
'content' => array (<br />
'type' => 'simple_text',<br />
'required' => true,<br />
)<br />
),<br />
'templates' => 'blocks/smarty_block.tpl',<br />
'wrappers' => 'blocks/wrappers',<br />
'multilanguage' => true,<br />
'cache' => true<br />
),<br />
на
<br />
'smarty_block' => array (<br />
'content' => array (<br />
'content' => array (<br />
'type' => 'simple_text',<br />
'required' => true,<br />
)<br />
),<br />
'templates' => 'blocks/smarty_block.tpl',<br />
'wrappers' => 'blocks/wrappers',<br />
'multilanguage' => true,<br />
'cache' => false<br />
),<br />
Лучше это сделать с помощью модуля. Затем необходимо очистить кэш
Спасибо! Работает.
Хочу вывести в этот смарти блок инфорацию о доставке.
Делаю так:
{$shipping.shipping} {$shipping.rate}
Блок ничего не выводит. Если пишу в файле шаблона, то выводится как нужно.
Примерная стоимость доставки Новой почтой 54.20 грн
Ну и сам распечатанный массив
Array ( [shipping_id] => 13 [shipping] => НОВАЯ ПОЧТА [delivery_time] => отправка товаров 3-4 раза в неделю [rate_calculation] => M [service_params] => Array ( )[destination] => I [min_weight] => 0.00 [max_weight] => 0.00 [service_id] => 0 [module] => [service_code] => [rate_info] => Array ( [rate_id] => 190 [rate_value] => Array ( [C] => Array ( [0] => Array ( [amount] => 0 [value] => 0 [type] => F [per_unit] => N ) [1] => Array ( [amount] => 1 [value] => 0 [type] => F [per_unit] => N ) ) ) ) [group_key] => 0 [rate] => 0 [taxed_price] => 0
)
НОВАЯ ПОЧТА (отправка товаров 3-4 раза в неделю) - Оплата при получении
Array
(
[shipping_id] => 12
[shipping] => ИНТАЙМ
[delivery_time] => отправка товаров 3-4 раза в неделю
[rate_calculation] => M
[service_params] => Array
(
)[destination] => I [min_weight] => 0.00 [max_weight] => 0.00 [service_id] => 0 [module] => [service_code] => [rate_info] => Array ( [rate_id] => 197 [rate_value] => Array ( [C] => Array ( [0] => Array ( [amount] => 0 [value] => 0 [type] => F [per_unit] => N ) [1] => Array ( [amount] => 1 [value] => 0 [type] => F [per_unit] => N ) ) ) ) [group_key] => 0 [rate] => 0 [taxed_price] => 0
)
ИНТАЙМ (отправка товаров 3-4 раза в неделю) - Оплата при получении
Array
(
[shipping_id] => 15
[shipping] => Примерная стоимость доставки Новой почтой
[delivery_time] =>
[rate_calculation] => M
[service_params] => Array
(
)[destination] => I [min_weight] => 0.00 [max_weight] => 0.00 [service_id] => 0 [module] => [service_code] => [rate_info] => Array ( [rate_id] => 199 [rate_value] => Array ( [C] => Array ( [0] => Array ( [amount] => 0 [value] => 0 [type] => F [per_unit] => N ) [300] => Array ( [amount] => 300 [value] => 0.5 [type] => P [per_unit] => N ) ) [W] => Array ( [0] => Array ( [amount] => 0 [value] => 25 [type] => F [per_unit] => N ) [1] => Array ( [amount] => 1 [value] => 30 [type] => F [per_unit] => N ) [2] => Array ( [amount] => 2 [value] => 40 [type] => F [per_unit] => N ) [5] => Array ( [amount] => 5 [value] => 50 [type] => F [per_unit] => N ) [10] => Array ( [amount] => 10 [value] => 65 [type] => F [per_unit] => N ) [15] => Array ( [amount] => 15 [value] => 85 [type] => F [per_unit] => N ) [30] => Array ( [amount] => 30 [value] => 110 [type] => F [per_unit] => N ) ) ) ) [group_key] => 0 [rate] => 54.2 [taxed_price] => 0
)
Примерная стоимость доставки Новой почтой - 54.20 грн
А что распечатываете и как? Покажите код
А что распечатываете и как? Покажите код
распечатываю так
{$shipping|fn_print_r}
собственно, если распечатываю из блока смарти, то ничего не выводит, а если из файла шаблона модуля ship_rates Даниила, то распечатывается массив. Я так понимаю, что смарти блок просто не имеет доступа к перменным модуля?
собственно, если распечатываю из блока смарти, то ничего не выводит, а если из файла шаблона модуля ship_rates Даниила, то распечатывается массив. Я так понимаю, что смарти блок просто не имеет доступа к перменным модуля?
Даже если бы не имел, то пустая распечатка все равно должна в браузер выплевываться.
Смотреть надо на месте, пока идей нету
Даже если бы не имел, то пустая распечатка все равно должна в браузер выплевываться.
Смотреть надо на месте, пока идей нету
из смарти распечатывается просто это и все
1.
Тогда вы правы. А как и где определяется сам массив $shipping ?