После оформления заказа клиентом интернет-магазина, администратор интернет-магазина может выполнить всевозможные действия с заказом на странице управления заказами в том числе и распечатать ряд документов: накладная, инвойс, счет, счет-фактура и бланк заказа. Редко, на бывает необходимо либо изменить какой-либо документ, либо добавить новый. В качестве примера возьмем, что нам требуется добавить документ, который бы выводил слово «Спасибо за заказ» и печатал ниже сумму заказа. Документ назовем «Благодарность».
Для начала нам нужно узнать где 1С-Битрикс хранит шаблоны документов. Из документации узнаем, что предустановленные шаблоны документов заказа находятся в папке /bitrix/modules/sale/reports/, а новые документы следует добавлять в папку /bitrix/admin/reports/ (если мы хотим изменить предустановленный шаблон документа, то нам следует его скопировать из папки /bitrix/modules/sale/reports/ в папку /bitrix/admin/reports/ и изменить его копию в /bitrix/admin/reports/).
Сам шаблон документа представляет собой html-страницу с интегрированными кусками php-кода.
Верх страницы предваряется кодом: <?if (!defined(«B_PROLOG_INCLUDED») || B_PROLOG_INCLUDED !== true) die();?> который останавливает выполнение страницы, если идет ее прямой вызов из адресной строки браузера.
Затем необходимо указать тайтл — он будет показываться на странице печати заказа: <title langs=»ru»>Благодарность</title>.
Также желательно установить кодировку документа таким образом: <meta http-equiv=Content-Type content=»text/html; charset=<?=LANG_CHARSET?>»>
В документ заказа приходят несколько массивов данных, которые можно использовать:
- $arOrder — массив атрибутов заказа (ID, доставка, стоимость, дата создания и т.д.)
- $arParams — массив из настроек Печатных форм
- $arUser — массив из настроек пользователя, совершившего заказ
В нашем документе, который мы хотели сделать, — нам нужно использовать 2 переменные: $arOrder[«PRICE»] — общая стоимость заказа и $arOrder[«CURRENCY»] — валюта заказа.
Ну и вот наконец наш документ:
<?if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED !== true) die();?> <html> <head> <title langs="ru">Благодарность</title> <meta http-equiv=Content-Type content="text/html; charset=<?=LANG_CHARSET?>"> </head> <body> <p>Спасибо за заказ!</p> <p><?=$arOrder["PRICE"]?> <?=$arOrder["CURENCY"]?></p> </body> </html>
Мы решили, конечно же, простейшую и крайне надуманную задачу, но это задача, я надеюсь, поможет прояснить вопросы, связанные с созданием и изменением шаблонов документов заказа в 1С-Битрикс.
Как насчет добавления пользовательских свойств к заказу
Честно говоря, не смотрел на эту возможность. Как будет время попробую поизучать данный аспект.
Хорошо бы наделать готовых шаблонов как в 1С и выложить в сеть
А мне вообще нужно добавить фото товара, возможно ли это?
Поскольку документа в html, — можно.