Існує можливість додати в репозиторій свої власні компоненти для швидкої установки. Додані компоненти будуть доступні тільки вам. Додавання в офіційний репозиторій проводиться вручну розробниками cms
Припустимо, ви хочете додати свій сніпет під назвою myFavoriteSnippet.
/**
* myFavoriteSnippet
*
* Опис мого сніпета
*
* @author Автор
* @category Мої сніпети
* @version 1
*/
Всередині папки створіть структуру install/assets/snippets/
Скопіюйте Snippet.myFavoriteSnippet.TPL в папку snippets.
Створіть zip-архів папки.
Ви можете не робити архів, а просто помістити дистрибутив на github. У цьому випадку пункт 5 вам не потрібен - github сам сформує посилання на архів.
Архів потрібно помістити в інтернет.
Зайдіть в репозиторій, додайте цей архів у свій особистий репозиторій кнопкою "Add package".
При авторизації в репозиторії всередині панелі адміністрування ви зможете встановлювати цей сніпет в один клік на будь-якому сайті.
Точно таким же чином ви можете створювати компоненти для швидкої установки чанків, модулів, плагінів і створення ТВ-параметрів.
Створіть файл sitemap_priority.tpl де sitemap_priority - назва майбутнього параметра
Помістіть його в папку install/assets/tvs/ Для модулів це буде папка modules, плагінів - plugins, чанков - chunks.
Код:
/**
* sitemap_priority
*
* Для мапи сайта
*
* @category Категорія
* @name sitemap_priority
* @internal @caption Пріоритет сторінки
* @internal @input_type dropdown
* @internal @input_options 0.1||0.2||0.3||0.4||0.5||0.6||0.7||0.8||0.9||1
* @internal @input_default 0.5
* @internal @output_widget
* @internal @output_widget_params
* @internal @lock_tv 0
* @internal @template_assignments *
* @internal @modx_category SEO
* @internal @installset sample
*/
На відміну від елементів, створення документів виглядає дещо інакше.
В корені папки install потрібно створити файл
setup.data.sql
Приблизний код створення нового ресурсу з ім'ям sitemap.xml, тип text/xml, вміст - виклик сніпета sitemap.
INSERT INTO `{PREFIX}site_content` (`type`, `contentType`, `pagetitle`, `longtitle`, `description`, `alias`, `link_attributes`, `published`, `pub_date`, `unpub_date`, `parent`, `isfolder`, `introtext`, `content`, `richtext`, `template`, `menuindex`, `searchable`, `cacheable`, `createdby`, `createdon`, `editedby`, `editedon`, `deleted`, `deletedon`, `deletedby`, `publishedon`, `publishedby`, `menutitle`, `donthit`, `privateweb`, `privatemgr`, `content_dispo`, `hidemenu`) VALUES
('document','text/xml','sitemap.xml','','','sitemap.xml','','1','0','0','0','0','','[[sitemap]]','0','0','7','1','1','1','1376384158','1','1377167369','0','0','0','1376384158','1','','0','0','0','0','1');
Поля в цьому запиті відповідають полям в таблиці site_content.