Доступно обновление плагина «Отчет по заказам» до версии 2.2.0. В отчете «Заказы» добавилась возможность строить график динамики изменения среднего чека.
Доступно обновление плагина «Отчет по заказам» до версии 2.2.0. В отчете «Заказы» добавилась возможность строить график динамики изменения среднего чека.
Во всех печатных формах можно вывести дополнительные поля, которые вы определили для адресов доставки (или оплаты). Правда, для этого придется приложить немного усилий. Даже странно, что разработчики 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. Наберитесь еще немного терпения.
Также поправили баг с выпадением из обработки заказов в последнем дне выбранного периода.
Теперь настройки графика, а заодно и выбранные статусы, надо сохранить самостоятельно — при изменении чекбокса больше ничего не сохраняется. А то нашлись люди, которые в задумчивости настолько часто переключали режимы отображения, что браузер не успевал отсылать запросы на сохранение новой конфигурации. :)
Либо я чего-то не нашел, либо в Shopscript 5 действительно нет возможности автоматически добавлять "бейджи" типа "Новинка" или "Скидка". Только вручную. Ну, вручную там можно какие хочешь делать, это понятно. Но самостоятельно следить, чтобы у товара появилась соответствующая наклейка очень грустно. Пришлось добавить пару строк в шаблоне.
Смысл в том, что если товару не назначен никакой бейдж, то назначим его автоматически. Поскольку по задумке авторов скрипта бейдж может быть только один, то и не будем ничего нового придумывать. Если товар создан менее 30 дней назад, то добавим ему бейдж "Новинка", если "зачеркнутая цена" отлична от нуля и меньше чем цена и минимальная цена товара, то добавим бейдж "Скидка".
{if !$product.badge} {if (((time() - strtotime($product.create_datetime)) / (60*60*24)) < 30)} {$product.badge = 'new'} {/if} {if $product.compare_price && ($product.compare_price > $product.price)} {$product.badge = 'lowprice'} {/if} {/if}
Включение-выключение автоматического добавлений бейджей, а также срок, в течение которого товар считается новинкой, можно сделать переменными темы (см. по ссылке пункт 6).