Октябрь 2014 — Syrnik

Дополнительное поле адреса в печатных формах

Во всех печатных формах можно вывести дополнительные поля, которые вы определили для адресов доставки (или оплаты). Правда, для этого придется приложить немного усилий. Даже странно, что разработчики Shopscript 5 не позаботились о том, чтобы показывать идентификаторы дополнительных полей. Проглядели?

В качестве примера добавим поле «Номер склада» в печатную форму «Простая накладная».

В настройках магазина, в разделе «Оформление заказа», на закладке «Контактная информация» найдите группу полей «Поля адреса» и добавьте к ним еще одно с названием «Номер склада».

Дополнительное поле в адресе доставки

Теперь создайте новый заказ или отредактируйте существующий так, чтобы у нового поля было какое-нибудь значение.

Дополнительное поле в заказе

Теперь нужно выяснить идентификатор дополнительного поля, который Shopscript 5 присвоил самостоятельно. Возможно, этот идентификатор где-то показывается, но нам увидеть его не удалось. А он есть.

Чтобы посмотреть идентификатор придется в самом шаблоне печатной формы вывести отладочную информацию, а именно список всех полей адреса.

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

В шаблоне печатной формы удалите все (Ctrl-A потом Del) и напишите вместо всего три строчки:

<pre>
{print_r($order.shipping_address)}
</pre>

Откройте заказ и в нем откройте исправленную печатную форму — необходимо отметить соответствую опцию в верхнем правом углу и нажать кнопку «Печать». На экране откроется примерно такой документ, со списками идентификаторов полей адреса и их значениями. Возможно список будет выглядить немного по-другому, но надеюсь, необходимый идентификатор найти сможете. У меня получился nomer-sklada. Запомните название идентификатора.

Дополнительное поле в адресе доставки

Теперь нужно вернуть печатную форму в исходное состояние. Нужно вернуться в настройки магазина, к печатным формам и снова открыть шаблон на редактирование. Если до правок использовали встроенный шаблон, нажмите в верхнем правом углу, чуть выше окна с редактором шаблона, ссылку «Восстановить оригинал». Если использовали свой вариант шаблона, скопируйте его обратно оттуда, куда сохранили резервную копию.

В подходящее место шаблона давьте вывод нового поля. Примерно вот так:

{if !empty($order.shipping_address['nomer-sklada'])}
    <p>
        Номер склада:
        <b>{$order.shipping_address['nomer-sklada']}</b>
    </p>
{/if}

Я добавил в раздел с адресом доставки, получилось вот такое:

Дополнительное поле в заказе

Сохраните отчет. Все.

Новая версия плагина с отчетами

Долгожданная версия, в которой можно фильтровать заказы по статусам отправилась на проверку и публикацию в магазине приложений Webasyst. Наберитесь еще немного терпения.

Также поправили баг с выпадением из обработки заказов в последнем дне выбранного периода.

Теперь настройки графика, а заодно и выбранные статусы, надо сохранить самостоятельно — при изменении чекбокса больше ничего не сохраняется. А то нашлись люди, которые в задумчивости настолько часто переключали режимы отображения, что браузер не успевал отсылать запросы на сохранение новой конфигурации. :)