Smarty не показывает элемент массива объекта сеанса PHP

Код

{assign var=shipping_method value=$smarty.session.cart->sub_content}
{$shipping_method|print_r}
->{$shipping_method.products_name}<-

Выходы

Array
(
[customers_id] => 4
[products_name] => Abholung
[products_key] => shipping
[products_key_id] => 2
[products_model] => Abholung
[products_quantity] =>
[products_price] => 0
[products_tax_class] => 0
[products_discount] =>
[type] => shipping
[status] => 0
[sort_order] =>
[shop_id] =>
)
Array
-><-

Что-то странное во втором «массиве».
Но как мне отладить его и получить доступ к нужному элементу массива?

Благодарю.

0

Решение

Я отладил массив с помощью foreach и нашел решение. Похоже, что все элементы массива находятся в подмассиве «shipping»:

        {foreach key=key0 item=val0 from=$shipping_method}
{$key0}/{$val0}
{foreach key=key item=val from=$val0}
{$key}/{$val}
{if $key=='products_name'}
{assign var=shipping_method_name value=$val}
{/if}
{/foreach}
{/foreach}

{$shipping_method_name}

Будет выводить:

                    shipping/Array
customers_id/4
products_name/Abholung
products_key/shipping
products_key_id/2
products_model/Abholung
products_quantity/
products_price/0
products_tax_class/0
products_discount/
type/shipping
status/0
sort_order/
shop_id/
Abholung

Итак, чтобы получить доступ к нужному значению, мне нужно использовать этот код:

    {$shipping_method.shipping.products_name}

Проблема решена, но почему {$ shipping_method | print_r} не показывает вложенный массив «shipping». Это ошибка Smarty?

0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector