Интеграция и настройка модуля CMS
В этом уроке вы настроите модуль блога CMS bluetronix: от активации и интеграции списка блога до собственных файлов модулей, значений конфигурации и языковых файлов.
Предпосылки и цель урока
Для этого урока вам необходим доступ для разработчиков к CMS bluetronix. Вы должны уже знать, как работают папки разработчиков и почему собственные файлы в системных папках помечаются _own.
Мы используем существующий модуль Новостей - Блог в качестве примера. Вы активируете модуль, интегрируете его представление списка на страницу CMS и затем настраиваете собственный файл модуля, а также конфигурацию. При этом оригинальные файлы остаются неизменными.
1. Активировать модуль блога
Откройте в CMS Модули и выберите Новости - Блог.

Активируйте опцию Активировать модуль блога и подтвердите запрос безопасности с помощью ОК.
Затем вам будет доступен конфигуратор модуля. Слева находятся технические настройки, справа — текст модуля, зависящий от языка.
2. Встраивание списка блогов на страницу CMS
Откройте страницу /Blog/index.html и выберите HTML код. Страница блога интегрируется с помощью краткой метки CMS.
<!--bx_Mod/Blog/Modul-Blog-List-->
Метка ссылается на модуль блога и его представление списка. CMS вставляет сгенерированный вывод модуля в этом месте при рендеринге.
3. Открытие центральных файлов модуля в файловом менеджере
Фактическая логика PHP и HTML модулей не находится непосредственно в HTML страницы, а централизована в системной папке bx_Mod. Сначала откройте в Файловом менеджере эту папку, а затем подпапку Blog.
В папке Blog вы найдете, например, Modul-Blog-List.php, Modul-Blog-ShowCase.php, config.php, другие файлы модуля и подпапку languages.
4. Просмотр стандартного файла списка блогов
Выберите Modul-Blog-List.php и откройте ее через Редактировать.
Стандартный файл содержит программную логику для списка. В показанном коде подключаются, среди прочего, конфигурация модуля и, если она есть, проектная config_own.php.
Это позволяет одному подключению модуля использовать одну и ту же центральную программную логику на разных страницах. Для проектов, использующих стандартный модуль, будущие обновления CMS могут внести изменения в этот файл.
Не редактируйте оригинальный Modul-Blog-List.php напрямую. Он принадлежит системе и может быть перезаписан при обновлении CMS.
5. Создание собственного представления списка с _own
Чтобы изменить вывод, скопируйте стандартный файл. Ваша собственная копия получит точно такую же _own-метку:
Modul-Blog-List.php
↓ kopieren
Modul-Blog-List_own.php
Откройте новый файл Modul-Blog-List_own.php. В этой проектной версии вы можете изменять PHP-логику и HTML-вывод, не трогая стандартный файл.
В нашем тесте мы добавляем в заголовок хорошо заметную строку NEW!!!!. Остальной вид списка остается неизменным.
Сохраните свой файл модуля и перезагрузите страницу блога. CMS будет использовать соответствующую _own-версию, в то время как плейсхолдер в /Blog/index.html останется неизменным. Вы узнаете активный собственный файл по измененному заголовку NEW!!!! НОВЫЕ СТАТЬИ.
6. Настройки модуля и собственная конфигурация
Помимо HTML-вывода вы также можете изменить конфигурацию модуля. На скриншоте показано, например, для Modul-Blog-ShowCase значение DS Repeats = 3.
Измените значение на 2 и сохраните настройки. Это установит желаемое количество для этой области ShowCase. Настройка относится к Modul-Blog-ShowCase и не равна автоматически количеству всех статей в списке блога.
Ваша собственная конфигурация находится в bx_Mod/Blog/config_own.php. Выберите этот файл в файловом менеджере.
Показанная config_own.php перезапишет значение целенаправленно только в том случае, если загружается затронутая область модуля Modul-Blog-ShowCase:
if($ModulNameGB == "Modul-Blog-ShowCase") {
$CF_DS_Repeats = 2;
}
Стандартные значения по-прежнему берутся из config.php. Поэтому собственный файл конфигурации не должен дублировать все стандартные значения, а может содержать только необходимые отклонения.
7. Определение таблицы базы данных и страниц модуля
В стандартной конфигурации bx_Mod/Blog/config.php вы найдете, среди прочего, используемую таблицу базы данных и пути к детальному и списочному видам. В показанном примере значения таковы:
$CF_DatabaseTable = "Blog";
$CF_DetailPage = "/Blog/Detail.html";
$CF_ListPage = "/Blog/index.html";
Если вы разрабатываете собственный вариант на основе блога для другой цели, вы можете в своей конфигурации, например, указать другую таблицу базы данных. Убедитесь, что новая таблица содержит поля, ожидаемые вашим файловым модулем, и что списочные и детальные страницы соответствуют новому варианту.
8. Языковые файлы модуля
В bx_Mod/Blog/languages находятся языковые файлы модуля блога. Для существующих языков есть отдельные PHP-файлы, например, de.php, en.php и fr.php.
Здесь управляются текстами модуля, зависящими от языка. Для проектных изменений используйте поддерживаемый вашей версией модуля собственный формат файлов, вместо того, чтобы напрямую перезаписывать оригинальные языковые файлы.
9. Различие между стандартным модулем и собственной версией
Правило _own защищает ваши изменения от перезаписи регулярными обновлениями. В то же время, вы сами несете ответственность за поддержание этой индивидуальной версии. Проверьте при последующих обновлениях CMS, имеют ли важные изменения в стандартном файле отношение к вашему собственному файлу.
10. Резюме
Вы активируете модуль блога в Модули → Новости - Блог, подключаете представление списка через маркер CMS и управляете центральной программной логикой в bx_Mod/Blog. Для собственных изменений вы копируете Modul-Blog-List.php в Modul-Blog-List_own.php. Настройки, отличающиеся от стандартных, при необходимости указывайте в config_own.php.
CMS-Seite /Blog/index.html
↓ Modul-Markierung
bx_Mod/Blog/Modul-Blog-List.php
↓ passende _own-Datei vorhanden?
Modul-Blog-List_own.php
↓ Konfiguration und Datenbank
HTML-Ausgabe innerhalb der CMS-Seite
Таким образом, можно целенаправленно расширить существующий модуль, не изменяя оригинальные системные файлы.
Часто задаваемые вопросы
что часто спрашивают клиенты
Какой доступ мне нужен, чтобы настроить модули CMS?
Вам нужен доступ разработчика к CMS bluetronix. Кроме того, вам стоит знать о папках разработчиков и правиле _own.
Где я могу активировать модуль блога?
Откройте Модули, выберите Новости - Блог и активируйте Активировать модуль блога. Подтвердите запрос безопасности.
Как вставить список блогов на страницу CMS?
Откройте HTML-код нужной страницы и вставьте метку модуля <!--bx_Mod/Blog/Modul-Blog-List-->.
Должен ли я копировать полный PHP-код списка блога на страницу?
Нет. На странице содержится только метка модуля. Соответствующая логика загружается централизованно из модуля блога.
Где находится стандартный файл списка блога?
Вы можете найти его по адресу bx_Mod/Blog/Modul-Blog-List.php в области разработчика файлового менеджера.
Как адаптировать файл модуля, чтобы он был обновляемым?
Скопируйте стандартный файл и отметьте копию как _own, например Modul-Blog-List_own.php. Затем редактируйте только этот собственный файл.
Нужно ли изменять метку модуля, если я создаю файл _own?
Нет. Для поддерживаемого CMS файла модуля можно автоматически использовать соответствующую _own-версию, не изменяя существующее подключение модуля.
Для чего нужен config_own.php?
С помощью bx_Mod/Blog/config_own.php вы можете проектно специфически переопределить отдельные значения из стандартной конфигурации.
Какое действие выполняет DS Repeats в этом примере?
В показанном примере настройка для Modul-Blog-ShowCase изменена с 3 на 2. Она определяет количество повторений этой области модуля.
Где установлено, какая таблица базы данных используется модулем блога?
В конфигурации bx_Mod/Blog/config.php указано в примере $CF_DatabaseTable = "Blog";. Соответствие можно настроить для собственной вариации модуля.
Где я могу найти языковые файлы модуля блога?
Языковые PHP-файлы находятся по адресу bx_Mod/Blog/languages, например de.php и en.php.
Кто отвечает за поддержку собственного файла модуля?
Собственный файл _own сохраняется при обычных обновлениях CMS. Разработчик сам должен проверять, следует ли заимствовать новые исправления или функции из стандартного файла.