Спасибо!
Спасибо, что оставили заявку.
Мы обработаем вашу заявку и обязательно позвоним!
Форма заявки
Оставьте ваши контакты,
мы обязательно с вами свяжемся
Ваше имя
Номер телефона (Перезвоним Вам)
Что Вы хотите заказать

Создание своего компонента на MODX Revo с modextra

Компонент на MODx

 

  1. Скачиваем файл с ModExtra

https://btb-development.ru/casetable.zip

 

  1. Создаем папку в корне, в папку архив и разархивируем

 

  1. Запускаем скрипт rename_it.php с get name=mycomponentname

 

Пример

https://btb-development.ru/casetable/rename_it.php?name=casetable

 

Папка и все нужное переименуется

 

 

  1. Создаем структуру таблицы

 

Заходим в casetable/core/components/casetable/model/schema/casetable.mysql.schema.xml

 

Тут в object уже будут правильные названия в атрибутах, спасибо rename

 

Внутри object создаем нудные поля таблицы

 

Пример

 

<object class="casetable" table="casetable" extends="xPDOSimpleObject">

<field key="i_singular" dbtype="varchar" precision="255" phptype="string" null="false" default=""/>

<field key="r_singular" dbtype="varchar" precision="255" phptype="string" null="false" default=""/>

</object>

 

 

 

  1. Запускаем build

https://btb-development.ru/casetable/_build/build.php

 

В этот момент создается компотнент, в БД появляется наша таблица

 

  1. Правим логику модуля

casestable/assets/components/casestable/js/mgr/widgets/items.grid.js

 

тут вывыд содержимого (записи из таблицы)

 

getFields: function () {

return ['id', 'i_singular', 'p_singular', 'i_plural','actions'];

},

 

getColumns: function () {

return [{

header: _('casetable_item_id'),

dataIndex: 'id',

sortable: true,

width: 70

}, {

header: "Именительный падеж",

dataIndex: 'i_singular',

sortable: true,

width: 200

}, {

header: "Предложный падеж",

dataIndex: 'p_singular',

sortable: false,

width: 200

}, {

header: "Именительный множественный",

dataIndex: 'i_plural',

 

sortable: true,

width: 150

}, {

header: "Действия",

dataIndex: 'actions',

renderer: casestable.utils.renderActions,

sortable: false,

width: 100,

id: 'actions'

}];

},

 

 

 

Actions надо оставить - это кнопки действия с объектом. casestable заменияем на свой модуль.

 

 

  1. Добавление и изменение

casestable/core/components/casestable/processors/mgr/item/create.class.php

casestable/core/components/casestable/processors/mgr/item/update.class.php

 

Есть 2 класса на добавление и изменение.

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

 

 

  1. Заходим в лекиконы и правим содержимое.




Просмотров: 945