Создание собственного дистрибутива MODx
В предыдущих статьях отмечалось, что перед установкой системы MODx необходимо внести некоторые изменения в дистрибутив, исправляющие имеющиеся ошибки и решающие проблему с русификацией. Однако каждый веб-мастер, использующий MODx при создании сайтов, может предпочитать настройки, отличные от стандартных, а также использовать дополнительные чанки, сниппеты и плагины. Конечно, можно выполнить обычную установку MODx, после чего внести необходимые изменения, но удобнее исправить дистрибутив, чтобы после новой установки не требовалось выполнять дополнительные действия, которые отнимают лишнее время и повышают вероятность ошибок.
Добавление и изменение чанков, сниппетов, плагинов и модулей
В состав дистрибутива MODx не всегда входят последние версии сниппетов, модулей и плагинов. Работа над дополнительными компонентами ведется постоянно, и новый сниппет может появиться после выхода очередной версии системы. Например, в MODx 0.9.6.2 включен сниппет ajaxSearch версии 1.7.1, хотя имеется версия 1.8.1 данного сниппета, в которой исправлены ошибки и добавлены новые возможности. Также может потребоваться русификация некоторых стандартных сниппетов, так как Jot или WebLogin. И, наконец, веб-мастер может использовать дополнительные сниппеты, которые можно было бы добавить в стандартный дистрибутив.
Исправление или добавление нового сниппета, чанка, модуля или плагина выполняется одинаково, и можно рассмотреть этот процесс на примере добавления нового сниппета. В первую очередь необходимо поместить в соответствующую папку файлы сниппета, если они используются. Например, при русификации Jot заменить файлы в папке assets/snippets/jot, а при добавлении собственного сниппета MySnippet создать папку assets/snippets/mysnippet и поместить в нее нужные файлы.
Далее необходимо создать в папке install файл с шаблоном сниппета, назвав его соответствующим образом, например, snippet.mysnippet.tpl. Для стандартных компонентов, таких как ajaxSearch, необходимо заменить содержимое имеющегося шаблона. Обратите внимание, что если в компоненте встречаются русские буквы, требуется кодировать файл в кодировке UTF-8 без BOM. Если вы планируете использовать отличную от UTF-8 кодировку, лучше избежать использования русских букв в данных файлах.
Далее необходимо внести изменения в файл install/setup.info.php. Если при исправлении будут добавлены русские буквы, данный файл необходимо будет перекодировать в кодировку UTF-8 без BOM, а если русских букв не будет, следует оставить исходную кодировку. Описание чанков, сниппетов, плагинов и модулей выполняется в соответствующем разделе файла, который легко найти по комментарию в заголовке. Например, сниппеты описываются ниже строки с надписью # setup snippets template files. Описание заключается в присвоении значений массиву $ms для сниппетов, $mc для чанков, $mp для плагинов и $mm для модулей. В каждой строке описывается имя компонента, его описание, задается тип 0 для указания файла в качестве источника, указывается имя файла и параметры вызова компонента. Добавление нового сниппета описывается примерно такой строкой:
$ms[] = array("MySnippet", "<strong>1.0</strong> Мой сниппет.", 0, "$setupPath/snippet.mysnippet.tpl", "");
Следует отметить, что чаще всего последний параметр бывает пустым, а также используется тип 0. Тип 1 подразумевает, что содержимое компонента находится не в отдельном файле, а введено непосредственно в команду следующим параметром. Добавив или отредактировав нужные строки, вы измените набор чанков, сниппетов, модулей и плагинов, добавляемых при установке. При этом удалять стандартные компоненты не рекомендуется, так как в некоторых случаях могут возникнуть ошибки при работе системы.
Изменение стандартной конфигурации
После установки системы вы можете зайти в административную часть и изменить параметры конфигурации, установленные по умолчанию. Однако некоторые параметры вы можете изменить еще в дистрибутиве, чтобы не выполнять лишние действия после установки.
В файле install/setup.sql необходимо найти комментарий # Default Site Settings. Расположенные ниже строки описывают установки, принимаемые по умолчанию. Следует отметить, что значения в фигурных скобках, например, {PREFIX}, будут изменены в процессе установки, и лучше не менять их в файле, если вы не уверены, что делаете. Как и в описанных выше случаях, если при редактировании используются русские буквы, файл необходимо перекодировать в UTF-8 без BOM.
Найдя нужную строку в файле, можно изменить ее в соответствии со своими пожеланиями. Например, для использования в капче исключительно числовых значений, можно изменить соответствующую строку на:
('captcha_words','1,2,3,4,5,6,7,8,9,0'),
А для изменения названия сайта, предлагаемого по умолчанию, необходимо написать:
('site_name','Мой сайт на MODx'),
Естественно, в последнем случае необходимо перекодировать исходный файл. Если вы не уверены, какой параметр соответствует некоторым строкам в файле, можете посмотреть таблицу system_settings установленного ранее сайта. Заголовки полей таблицы соответствуют первым параметрам в каждой строке редактируемого файла, а по содержимому полей можно понять, какие установки были вами сделаны.
Хотя можно произвести и более глубокие изменения дистрибутива, в большинстве случаев это вряд ли оправдано. Изменив состав компонентов, и внеся исправления в параметры конфигурации, вы сможете значительно облегчить процесс установки системы MODx для новых сайтов, а дальнейшую работу лучше вести после завершения установки.