Плагин создается для компонента JoomShopping. Он добавляет дополнительные столбцы в таблицы jshopping_orders и jshopping_order_item с целью управления заказами. Он выводит некоторые дополнительные сведения и столбцы в форму списка заказов в админ панели Joomla компонента JoomShopping.

Вставляется новый столбец "обзв"(custom_servey) - пометкой галочкой тех заказов, по которым уже осуществлен обзвон. А также в столбце "Номер заказа" под номером заказа вводится надпись "доставка!", когда поле наша доставка(our_delivery) отмечено, т.е. значение our_delivery=1. Для справки: это поле не одно и тоже с доставкой клиенту (shipping), которая уже есть в компоненте.
Еще плагин добавляет ряд полей в форме редактирования заказа. Они расположены в области "Название товара", к каждому названию отдельно. В поле закупочная цена для товара - выводится цена закупки из соответствующего товара или его атрибута. Это поле может быть изменено, таким образом изменится цена закупки этого товара для определенного заказа, а в товаре она останется. Что в последствии должно быть учтено при составлении отчетов о прибыли. Остальные поля для каждого названия товара заполняются по желанию и сохраняются вместе со всеми по нажатии кнопки сохранить. Дополнительные поля можно создавать свои по той же схеме.

Плагин относится к группе плагинов jshoppingorder, потому что использует события, вызываемые в контроллере orders администратора. Открыв файл этого контроллера по пути administrator/components/com_jshopping/controllers/orders.php вы увидите стоку JPluginHelper::importPlugin('jshoppingorder'), которая означает, что сюда
будут подключены плагины (загружены их классы) группы jshoppingorder. Отношение плагина к группе указывается в xml файле плагина в теге extension атрибуте group="jshopping".
Чтобы класс плагина смог загрузится, его следует правильно называть. Открываем основной файл php плагина (jshop_accounting.php) и смотрим как формируется название класса plgJshoppingOrderJshop_accounting.
Подробнее:
plg - постоянная приставка
JshoppingOrder - название группы плагина
Jshop_accounting- название плагина
Папки и файлы плагина должны именоваться так:
имя_плагина (jshop_accounting) - папка
- имя_плагина.php (jshop_accounting.php)
- имя_плагина.xml (jshop_accounting.xml)
- install.php
- index.php
В папке плагина могут быть: папка language с языковыми файлами и папка media с файлами js, css и файлами изображений, используемых этим плагином, что соответственным образом оформляется в xml файле. Далее все файлы этой папки архивируются zip-архиватором. Этот архив является установочным пакетом. Его устанавливают через установщик Joomla. При инсталляции запускается файл install.php плагина. Класс, объявленный в нем, тоже должен иметь определенное название plgJshoppingOrderJshop_accountingInstallerScript.
Подробнее:
plg - постоянная приставка
JshoppingOrder - название группы плагина
Jshop_accounting- название плагина
InstallerScript - неизменная часть класса, относящая его к скрипту инсталлятору.
Этот класс проверяет сначала версию php (не ниже 5.3) и наличие файла /components/com_jshopping/jshopping.php, т.е. основного файла компонента JoomShopping
Если такого файла нет, это значит компонент JoomShopping не установлен и плагин тоже не будет установлен с сообщением "Требуется компонент JoomShopping".
Если же JoomShopping установлен, вызывается function install() и создаются новые столбцы в таблицах jshopping_orders и jshopping_order_item. При деинсталляции осуществляется удаление этих столбцов (function uninstall()). Файл install.php, а точнее класс .....InstallerScript может осуществлять любые действия, при инсталляции и деинсталляции, например, может скопировать файлы из каких-либо папок плагина в папки Joomla или в папки компонента.
Рассмотрим содержание основного файла php плагина (jshop_accounting.php) Здесь создаются функции, которые вызываются по триггерам одноименных событий. Эти функции принимают аргументы, которые передаются переменными, используемыми для формирования контента, относящегося к данному событию.
В этом плагине используются 5 события:
1. перед выводом списка заказов - onBeforeDisplayListOrderAdmin
2. перед выводом формы показа заказа -onBeforeShowOrder (открывается, если нажать на номер заказа),
3. перед выводом формы редактирования заказа - onBeforeEditOrders
4. перед сохранением заказа - onBeforeSaveOrder
5. после сохранения заказа - onAfterSaveOrder
Вы можете скачать плагин Download

Translate »
Рейтинг@Mail.ru Яндекс.Метрика