Написание плагина для Kasseler CMS [часть 2]

от автора

Итак, продолжим трилогию статей о написании дополнений для Kasseler CMS. В предыдущей статье я описал написание самого элементарного дополнения – хука-функции.

При написании проектов, чаще всего мы берем какой-то готовый продукт, систему управления сайтом (CMS), фреймворк и адаптируем его под свои нужды, что-то изменяем, а что-то дописываем. Именно изменение исходного кода системы делает невозможным или трудоемким обновление проекта при выходе новой версии системы.

Предположим, что мы создаем проект на основе Kasseler CMS и работа той или иной функции нас не устраивает. Самый простой способ – переписать функцию под свои нужды, но в будущем мы столкнемся с проблемой обновления системы. Второй способ – написать файловый-хук (иными словами файл с описанной функцией), который будет подключаться вместо оригинального файла системы.

Рассмотрим ситуацию на примере файла генерации sitemap для поисковых систем, который находится includes/function/sitemap.php.

Мы сделали проект, написали несколько дополнительных модулей, но не смотря на то, что модули добавлены в систему и активированы, файл генерации будет создавать карту только на стандартные модули системы. Для того чтобы в файле sitemap были ссылки и на наши сторонние модули, берем стандартный файл генерации и дописываем свой код, а сам файл оформляем следующим образом:

  1. Название название_плагина.file.php
  2. Структура:
<?php /** * ---------------------------------------------------------------------- * @filetype file * @name Мой плагин * @description Описание * @copyright Habrahabr * @author Habrahabr * @email habrahabr@habrahabr.ru * @link http://habrahabr.ru/ * @updateLink * * @replaceFile includes/function/sitemap.php * @license BSD * @version 1.0 * @create 30.05.2013 * @minVersion 1073 * @maxVersion * * ---------------------------------------------------------------------- */  if(!defined('FUNC_FILE')) die('Access is limited');  //Your code  ?> 

Где:

@filetype – тип платина @name –  название плагина @description – описание плагина @copyright – копирайт @author – автор или авторы через запятую @email – контактные email @link – страница дополнения @replaceFile – файл, который заменяем @updateLink – страница обновлений @license – вид лицензии @version – версия плагина @create – дата создания @minVersion – минимальная ревизия системы поддержки плагина @maxVersion – максимальная ревизия системы поддержки плагина 

Для завершения создания дополнения, созданный файл необходимо запаковать в zip архив и добавить через админ панель. При таком подходе, даже если мы перезапишем файл sitemap.php, при обновлении системы функциональность не потеряется.

И это еще не самое интересное, но описание данной функциональности стояло упомянуть. Самое интересное оставил на десерт… 😉

ссылка на оригинал статьи http://habrahabr.ru/post/181590/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *