"Уже сегодня делай то, о чем другие будут думать завтра!"

BxrExtra

Сайдбар

Установка

Указания, как создать компонент с именем YourComponent, используя BxrExtra.

Создайте директорию 'yourcomponent'. Клонируйте BxrExtra в yourcomponent директорию, запустив 'git clone git://github.com/TheBoxer/BxrExtra.git .' из папки yourcomponent.

Теперь можно удалить папку '.git'.

В файле 'config.core.php' измените 'MODX_CORE_PATH' , указав путь к ВАШЕМУ размещению ядра MODx.

Теперь нужно переименовать BxrExtra в YourComponent, для этого откройте 'rename_it.sh' и измените 'repl1' на 'YourComponent', 'repl2' на 'yourcomponent' и 'path' на './yourcomponent'.

Запустите 'rename_it.sh'.

Откройте 'yourcomponent/core/components/yourcomponent/templates/home.tpl' и измените id div с 'bxrextra-panel-home-div' на 'yourcomponent-panel-home-div'.

После данных изменений добавьте два параметра вваши System Settings (Системные Установки) с помощью менеджера:

  • 'yourcomponent.core_path' – Ведет к /yourcomponent/core/components/yourcomponent/
  • 'yourcomponent.assets_url' - /yourcomponent/assets/components/yourcomponent/

Assets url должен быть виден из web.

Далее создадим namespace (именованные области) с именем 'YourComponent',
core path (путь к ядру) 'ведущий к /yourcomponent/core/components/yourcomponent/' и
assets path (путь к активам ) 'ведущий к /yourcomponent/assets/components/yourcomponent/'.

После создания namespace, добавьте новое действие (аdd new action) под YourComponent namespace с (индекс-контроллером) indexcontroller и без parent controller (контроллера-источника).

Разместите только что созданное действие под Component menu (или там, где хотите) с ключевым словом 'yourcomponent' и описанием 'yourcomponent.menu_desc'.

Очистите кэш и обновите страницу менеджера.

Если хотите создать “табличную базу данных для использования по умолчанию” (default database table) подключенную к BxrExtra, то добавьте с помощью менеджера новый сниппет, сделайте вызов createDBTable и задайте ее как static. Определите Set media sources для Static files как '(None)' , а Static file как '/elements/snippets/snippet.yourcomponentCreateDB.php'. Внедрите сниппет 'createDBTable' во все ресурсы и запустите его. Должно появиться сообщение 'Table created'.

Теперь вы обладаете полностью рабочим дополнением, его функции описаны ниже.

Функциональность

  • Интеграция пользовательских таблиц объектов
  • Составление списков объектов сниппета с сортировкой по имени и шаблонными чанками
  • Менеджер пользовательских страниц
  • Процессор на базе классов
  • Координатная сетка с встроенным редактированием, с функционалом в правостороннем меню, окна для создания нового / обновления / удаления объекта, функция поиска.
  • Сортировка в координатной сетке методом “Drag and drop”

Если подобная функциональность не требуется, то достаточно просто удалить ее, изменив соответствующий код.

Удаление возможности Drag&Drop

  • удалите assets/components/yourcomponent/js/mgr/extra/griddraganddrop.js
  • в core/components/yourcomponent/controllers/home.class.php
    • удалите $this->addJavascript($this->yourcomponent->config['jsUrl'].'mgr/extra/griddraganddrop.js');
  • в assets/components/yourcomponent/js/mgr/widgets/items.grid.js
    • удалите ddGroup параметр конфигурации
    • удалите enableDragDrop параметр конфигурации, или определите его как false
    • удалите render и beforeDestroy listeners
    • удалите getDragDropText функцию

Удаление позиции из базы данных (позиция, используемая при сортировке)

  • в core/components/yourcomponent/model/schema/yourcomponent.mysql.schema.xml
    • удалите поле с ключом "position"
  • удалите все php файлы в папке core/component/yourcomponent/model/yourcomponent/mysql folder
  • в _build
    • переименуйте build.config.sample.php в build.config.php
    • измените build.config.php и задайте путь MODX_BASE_PATH к вашему месту размещения modx
  • запустите _build/build.schema.php
    • в результате должны создаться новые файлы в папке core/component/yourcomponent/model/yourcomponent/mysql
  • удалите таблицу yourcomponent_items из базы данных
  • запустите сниппет, создающий таблицу базы данных (описано в пункте Установка)




Контактная информация

По всем интересующим вас вопросам связывайтесь при помощи контактной информации приведенной на этой странице!

telegram: @Accusser
skype: metsof
email: accusser@gmail.com

В социальных сетях...

Форма обратной связи

Sign In