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

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

skype: metsof
email: accusser@gmail.com

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

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

Авторизация

Сайдбар

Установка

Указания, как создать компонент с именем 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 как '[[++yourcomponent.core_path]]/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  из базы данных
  • запустите сниппет, создающий таблицу базы данных (описано в пункте Установка)