Вывод Характеристики В Блок

Модно ли вывести значение характеристики товара в HTML блок с поддержкой Smarty?

Вообщем хочу в блоке расположенном на странице товара выводить кол-во месяцев гарантии, а для разных товаров значение разное.

Как на фото…

Спасибо.

1.jpg

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]



Привет, подскажите в блоке смарти можно вывести группу характеристик, к примеру по коду характеристики ? как это будет выглядеть :blink:

[quote name=‘zlolik@gmail.com’ timestamp=‘1423575435’ post=‘204867’]

Привет, подскажите в блоке смарти можно вывести группу характеристик, к примеру по коду характеристики ? как это будет выглядеть :blink:

[/quote]



Распечатайте массив с данными продукта. Там в принципе все понятно по структуре будет

Такая ситуация:

кодом <br /> {$product.product_features.29.value_int|round}<br />

вывожу на странице товара в smarty блоке текст “Гарантия: 12 месяцев”.

Этот блок кэшируется и выдает везде “Гарантия: 12 месяцев”, даже если гарантии на товар нет. Если ставлю <br /> &#39;disable_block_cache&#39; => 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 /> &#39;disable_block_cache&#39; => 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 /> &#39;disable_block_cache&#39; => true,<br /> в config.local.php, то все работает как надо. Как сделать, чтобы этот блок не кэшировался?

[/quote]



app\schemas\block_manager\blocks.php



поменяйте


<br /> &#39;smarty_block&#39; => array (<br /> &#39;content&#39; => array (<br /> &#39;content&#39; => array (<br /> &#39;type&#39; => &#39;simple_text&#39;,<br /> &#39;required&#39; => true,<br /> )<br /> ),<br /> &#39;templates&#39; => &#39;blocks/smarty_block.tpl&#39;,<br /> &#39;wrappers&#39; => &#39;blocks/wrappers&#39;,<br /> &#39;multilanguage&#39; => true,<br /> &#39;cache&#39; => true<br /> ),<br />



на


<br /> &#39;smarty_block&#39; => array (<br /> &#39;content&#39; => array (<br /> &#39;content&#39; => array (<br /> &#39;type&#39; => &#39;simple_text&#39;,<br /> &#39;required&#39; => true,<br /> )<br /> ),<br /> &#39;templates&#39; => &#39;blocks/smarty_block.tpl&#39;,<br /> &#39;wrappers&#39; => &#39;blocks/wrappers&#39;,<br /> &#39;multilanguage&#39; => true,<br /> &#39;cache&#39; => false<br /> ),<br />



Лучше это сделать с помощью модуля. Затем необходимо очистить кэш

Спасибо! Работает. :grin:

Хочу вывести в этот смарти блок инфорацию о доставке.

Делаю так:

{$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 ?