Skip to content

dir000/orderprint

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 

Repository files navigation

Компонент предназначен для подготовки и вывода документов с информацией о заказах в формате pdf удобном для распечатки. Полезен, если нужно напечатать, к примеру счет-фактуру или наряд курьеру на доставку заказанной продукции. Компонент позволяет пользователю самостоятельно настроить шаблоны документов, указать необходимые данные, которые можно будет использовать во всех шаблонах (к прмеру название компании, ИНН или имя бухгалтера). Основной особенностью OrderPrint является то, что он умеет работать как с MiniShop2, так и с Shopkeeper. Переключить тип магазина можно в настройках системы (по умолчанию компонент настроен на MiniShop2, и при переключении стандартные шаблоны документов нужно будет немного изменить для правильного вывода документов).

###Основные особенности:

  • возможность работать как с MiniShop2, так и с Shopkeeper
  • "из коробки" доступно 4 распространенных типа документов (счет-фактура, счет, заявка на склад и наряд курьеру настроенных под MiniShop2, для использования с ShopKeeper нужно будет заменить плейсхолдеры в шаблонах)
  • возможность добавлять не ограниченное количество документов
  • возможность добавлять свои параметры для вывода в документах (например название компании)
  • использование для шаблонизации документов обычные и привычные механизмы MODX - чанки
  • для каждого документа Вы можете назначить 2 чанка: шаблон всего документа и шаблон строки с информацией о товаре из заказа, кроме того можно указать ориентацию листа при печати (альбомная или книжная) и поля (отступы)
  • любой документ можно сделать доступным для пользователей сайта, и дать им возможность распечатывать такие документы прямо из личного кабинета (по большому счету хоть с главной, где вызовите сниппет, там и будут ссылки на печать)
  • позволяет печатать только свои заказы. Возможность полного доступа есть только у членов группы "Администраторы"
  • для формирования PDF используется библиотека TCPDF
  • "из коробки" доступны только основные шрифты, при необходимости использовать шрифт, который не включен в пакет, Вы можете скачать архив со всеми доступными шрифтами на сайте разработчика библиотеки TCPDF. Скачанный архив нужно распаковать и загрузить файлы из папки fonts в папку assets/components/orderprint/pdf/tcpdf/fonts/ вашего сайта.

###Настройка для работы с компонентом магазина

По умолчанию OrderPrint настроен на работу с MiniShop2. Если на Вашем сайте используется Shopkeeper, для использования OrderPrint необходимо изменить системную настройку opr_type ("Магазин" в разделе "orderprint") на "shk". Кроме того многие плейсхолдеры станут недоступными а появятся другие, это сделано для максимально удобной работы с тем магазином к которому Вы привыкли, к примеру в шаблоне строки таблицы товаров для MS2 доступен плейсхолдер [[+thumb]], которого просто нет в SHK, зато для него можно использовать ТВ image значение которой попадет в плейсхолдер [[+tv_add.image]]. Это значит что в шаблонах нужно будет заменить теги спецефичные для MS2 тегами SHK.

###Документы

  • название
  • описание
  • основной шаблон - имя чанка, который будет использоваться как шаблон всего документа
  • шаблон строки таблицы товаров - имя чанка, который будет использоваться для вывода отдельного товара в таблицу со списком покупок в заказе, если не указать то таблица формироваться не будет
  • доступен для пользователей - если установить ДА то пользователи получат доступ для того чтобы распечатать свои заказы в виде данного документа прямо из фронтэнда сайта.
  • альбомная ориентация - ДА/НЕТ
  • отступы - поля документа через запятую, начиная с верхнего.

Вы можете создавать любое количество документов, все они будут доступны для использования сразу после сохранения.

Чтобы напечатать документ достаточно просто на вкладке "Заказы" кликнуть по интересующему Вас заказу правой кнопкой мыши и в выпадающем меню выбрать нужный документ.

###Параметры

Помимо данных полученных из заказа и параметров системы в шаблонах документов Вы можете использовать также и дополнительные параметры OrderPrint-а. Это полезно если, к примеру, нужно выводить в документ данные, которых нет нигде в системе (ИНН, имя руководителя, имя курьера или название банка, всё что угодно).

Перейдя на вкладку "Параметры" Вы сможете управлять дополнительными параметрами, изменять, удалять, создавать сколько угодно новых. Каждый такой параметр имеет следующие поля:

  • ключ - ключ параметра, подобно ключам системных настроек. Если создан параметр с ключом mycustomkey, его значение можно будет выводить в шаблонах документов так [[+mycustomkey]]
  • значение
  • описание

###Вывод ссылок для печати во фронтэнде

Для того чтобы вывести ссылки пользователям сайта в компонент включен сниппет orderPrint. Доступны следующие параметры:

Параметр Описание
tpl имя чанка в который будут выводится ссылки. По умолчанию orderPrint.LinkTpl
orderId id заказа
docs перечисленные через запятую id документов. По умолчанию все доступные для фронтэнда

###Шаблоны

У каждого документа может быть 2 шаблона, шаблон всего документа и шаблон строки таблицы с информацией по отдельному товару из заказа. Шаблон всего документа обязателен, если он не указан ничего работать не будет, шаблон строки таблицы не обязателен, если он не указан просто не будет самой таблицы, которая не обязательно нужна в каждом документе.

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

Обратите внимание, что класс, используемый для преобразования html в pdf, далек по своим возможностям от интерпретаторов в браузерах. Так что не нужно стеснятся использовать атрибут style прямо в тегах, стоит избегать применять html5 и css3 а также лучше предпочтение отдать табличной вёрстке при подготовке шаблонов. ###Плейсхолдеры доступные в шаблоне изначально Шаблон всего документа (MiniShop2)

Плейсхлолдер Значение
id id заказа
num номер заказа
createdon дата создания
status название статуса заказа (новый, оплочен и т.д.)
weight общий вес товаров в заказе
comment комментарий к заказу
delivery_cost стоимость доставки
cart_cost стоимость без доставки
payment_price комиссия при использовании выбранного способа оплаты
cost стоимость с доставкой
delivery название способа доставки
payment название способа оплаты
payment_description описание способа оплаты
cart УЖЕ СФОРМИРОВАННЫЙ html таблицы с товарами
manager полное имя пользователя, который печатает документ
print_date текущая дата
properties.ключ дополнительные опции заказа
address id адреса
address.receiver имя покупателя указанное при оформлении заказа
address.phone телефон покупателя указанный при оформлении заказа
address.room номер квартиры/офиса покупателя указанный при оформлении заказа
address.building номер дома покупателя указанный при оформлении заказа
address.street улица покупателя указанная при оформлении заказа
address.metro станция метро покупателя указанная при оформлении заказа
address.city город покупателя указанный при оформлении заказа
address.region регион указанный при оформлении заказа
address.index почтовый индекс покупателя указанный при оформлении заказа
address.country страна покупателя указанная при оформлении заказа
address.comment комментарий указанный при оформлении заказа
address.properties.ключ дополнительные опции записанные при оформлении заказа в поле properties
user.id id покупателя
user.fullname полное имя покупателя из профиля
user.username имя пользователя покупателя из профиля
user.email email покупателя из профиля
user.phone телефон покупателя из профиля
user.mobilephone мобильный телефон покупателя из профиля
user.fax номер факса покупателя из профиля
user.gender пол покупателя из профиля
user.address адрес покупателя из профиля
user.zip почтовый индекс покупателя из профиля
user.state регион покупателя из профиля
user.city город покупателя из профиля
user.country страна покупателя из профиля
user.photo фото/аватар покупателя из профиля
user.comment комментарий к учетной записи покупателя
user.website url сайта покупателя из профиля
user.extended.ключ дополнительные поля профиля пользователя
settings.ключ дополнительные параметры компонента, указанные на вкладке "Параметры"

Шаблон строки с информацией об отдельном товаре из заказа (MiniShop2)

Плейсхлолдер Значение
id id товара
price цена товара
count количество купленного товара
cost общая стоимость позиции
weight вес
pagetitle заголовок ресурса-товара
thumb превью фотографии товара
article артикул
options.ключ дополнительные параметры купленного товара (цвет, размер и т.д.)

Шаблон всего документа (Shopkeeper)

Плейсхлолдер Значение
id id заказа
date дата создания
sentdate дата отправки
status название статуса заказа (новый, оплочен и т.д.)
delivery_cost стоимость доставки
price стоимость с доставкой
currency валюта
delivery название способа доставки
payment название способа оплаты
cart УЖЕ СФОРМИРОВАННЫЙ html таблицы с товарами
manager полное имя пользователя, который печатает документ
print_date текущая дата
email e-mail покупателя
phone телефон покупателя
note комментарий к заказу
tracking_num трекинг-номер (почтовый идентификатор, номер отслеживания)
contacts.fullname имя покупателя, указанное при оформлении заказа
contacts.zip почтовый индекс покупателя, указанный при оформлении заказа
contacts.phone телефон покупателя, указанный при оформлении заказа
contacts.email email покупателя, указанный при оформлении заказа
contacts.room квартира/офис покупателя, указанный при оформлении заказа
contacts.house номер дома покупателя, указанный при оформлении заказа
contacts.corpus корпус указанный при оформлении заказа
contacts.street улица, указанная при оформлении заказа
contacts.metro станция метро, указанный при оформлении заказа
contacts.city город покупателя, указанный при оформлении заказа
contacts.state страна указанная при оформлении заказа
contacts.payment название способа оплаты
contacts.shk_delivery название способа оплаты
contacts.message комментарий пользователя к заказу
contacts.ключ любые данные записанные в поле contacts в таблице в БД
user.fullname полное имя покупателя из профиля
user.username имя пользователя покупателя из профиля
user.email email покупателя из профиля
user.phone телефон покупателя из профиля
user.mobilephone мобильный телефон покупателя из профиля
user.fax номер факса покупателя из профиля
user.gender пол покупателя из профиля
user.address адрес покупателя из профиля
user.zip почтовый индекс покупателя из профиля
user.state регион покупателя из профиля
user.city город покупателя из профиля
user.country страна покупателя из профиля
user.photo фото/аватар покупателя из профиля
user.comment комментарий к учетной записи покупателя
user.website url сайта покупателя из профиля
user.extended.ключ дополнительные поля профиля пользователя
settings.ключ дополнительные параметры компонента, указанные на вкладке "Параметры"

Шаблон строки с информацией об отдельном товаре из заказа (ShopKeeper)

Плейсхлолдер Значение
id id товара
price и tv.price цена товара
count количество купленного товара
cost общая стоимость позиции
link ссылка на товар
name заголовок ресурса-товара
tv_add.имя TV значения TV прикрепленных к ресурсу

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors