Код
{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
-><-
Что-то странное во втором «массиве».
Но как мне отладить его и получить доступ к нужному элементу массива?
Благодарю.
Я отладил массив с помощью 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?
Других решений пока нет …