Не удается вывести значение из массива $order Есть решение
1) В общем уже битый час не могу вытащить значение поля из массива $order.
Дело обстоит в печатной форме: в шаблоне формы (плагин Invoice) нужно вывести поле, добавленное в поля адреса.
Родные поля: Город, район, адрес выводятся кодом {$order.billing_address.city} .... {$order.billing_address.address} Выделенное жирным, являются ключами в массиве как я понимаю.
Есть добавленное поле: Телефон получателя у него ключ telefon-polucha. Логически, при вводе {$order.billing_address.telefon-polucha} должно выводиться, но нет, выводится 0.
Ладно, проверяем кодом:
{foreach from=$order.billing_address key=k item=v} <strong>{$k}</strong>: {$v}<br> {/foreach}
получаем:
name: firstname: lastname: address: Караганда, Казахстан zip: street: city: Караганда region: 01 country: kaz ======= ЭТО ДОБАВЛЕННЫЕ ПОЛЯ ne-znayu-adres: imya-poluchatel: Ксения telefon-polucha: +81234567 otpravit-anonim: 1 tekst-besplatno: ======= / ЭТО ДОБАВЛЕННЫЕ ПОЛЯ lng: lat: country_name: Казахстан region_name: Город (р-н Караганды) address_1: Караганда address_2: Казахстан
Видим, что такой ключ есть, по логике должно выводить значение, но ни одно из добавленных полей не выводит при прямом обращении к ключу.
2) Помимо данной проблемы, не могу вывести статус данного заказа. На {$status} и {$order.state} ноль реакции
2 ответа
Сам код правильного написания:
ИМХО, тут больше виноват синтаксис PHP, допускающий запись строковых ключей без заключения их в кавычки, что расслабляет и приводит к таким ошибкам. (Smarty превращает шаблоны в PHP код)