Как добавить массовую генерацию в свой раздел?
Внимание данный раздел предназначен только для разработчиков! Вы должны понимать что делаете. Техническая поддержка для данного раздела оказывается только в качестве отдельной, платной услуги.
Прежде чем начать работу, рекомендую прочитать данную инструкцию полностью.
Для того чтобы добавить кнопку массовой генерации на нужную вам страницу админки, вы сначала должны выполнить добавление кнопки в форму, которое описано в предыдущем разделе (Обязательно)
Далее, в файле
admin/model/extension/module/chatgptseo.php
в классеOpenEditor
вам сначала нужно будет создать публичную функцию которая будет отвечать за получение элемента (Getter function) из вашей базы данных и последующую передачу этих данных модулю GPT. Функция может иметь любое название, она должна иметь строго два аргумента на входе($item_id; $language_id)
и на выходе возвращать массив со всеми полями элемента полученного с помощью вашего SQL-запроса. Ниже представлен пример такой функции:
P.S. Если вы используете мультиязычность на сайте, то вы можете передавать сразу данные о нескольких языках, для этого в массиве который возвращает функция, в поле '
description
'
должен содержаться массив, где ключ элемента это $language_id
, а значение это массив со всеми полями для данного языка. Аналогично как это реализовано в стандартном методе getProduct
в модели admin/model/catalog/product.php
Необходимо в том же файле создать еще одну публичную функцию, которая будет отвечать за внесение отредактированной записи в базу данных (Setter function). Функция должна иметь строго три аргумента:
$item_id
- id элемента ,$data
- массив содержащий отредактированные значения записи (имеет тот же формат что был отдан функцией из предыдущего пункта), $language_id - id языка Ниже представлен пример такой функции:В заключительном шаге необходимо задекларировать ранее созданные функций для использования по определенному
route
. Для этого необходимо объявить статическую функцию `custom
`, если она еще не объявлена. Данная функция должна возвращать массив элементов. Где ключом являетсяroute
для которого была добавлена массовая генерация, а значение является массивом содержащий названия функций, созданных в пунктах 2 и 3. Пример представлен ниже:Внимание! 'blog/article' - в данном примере это тот же самый
route
что был указан в предыдущем разделе ! 5. Готово, теперь вы можете использовать GPT-кнопку для массовой генерации записей в вашем разделе, но для того чтобы при обновлении модуля, ваши кастомизации не были стерты рекомендую вынести ваши изменения в отдельный модификатор. Пример модификатора, содержащего код из всех пунктов на странице:
Last updated