Создание модулей / плагинов незначительно отличается для Cononti Siena от Cotonti Genoa. Основные отличия – явный доступ к мультихукингу и возможность добавления настроек модуля для различных его категорий, о чем будет рассказано позднее.

Театр начинается с вешалки, а плагин с установки. Различия между плагинами и модулями не критичны – поэтому оговаривать их будем по ходу нашего знакомства с системой.

Структура файла установки (module.setup.php), на примере установщика модуля page:

<?php
/* ====================
[BEGIN_COT_EXT]
Name=Pages
Description=Pages and Categories
Version=0.9.0 
Date=2010-nov-25 
Author=Neocrome & Cotonti Team
Copyright=(c) Cotonti Team 2008-2011
Notes=BSD License
Auth_guests=R
Lock_guests=A 
Auth_members=RW1
Lock_members=  
Admin_icon=img/adminmenu_page.png 
[END_COT_EXT]

[BEGIN_COT_EXT_CONFIG]
markup=01:radio::1:
[END_COT_EXT_CONFIG]

[BEGIN_COT_EXT_CONFIG_STRUCTURE] 
order=01:callback:cot_page_config_order():title:
[END_COT_EXT_CONFIG_STRUCTURE]
==================== */
?>

Setup файл представляет собой три блока опций: COT_EXT (между тегами [BEGIN_COT_EXT][END_COT_EXT]) – информация о самом модуле / плагине (была подробно рассмотрена, COT_EXT_CONFIG – конфигурация модуля / плагина, COT_EXT_CONFIG_STRUCTURE – настройки для отдельных элементов структуры модуля.

Рассмотрим важные элементы блока COT_EXT:

Name – обязательны блок имени модуля/плагина

Version - Версия. Четко ведите нумерацию версий. Она необходима для корректного обновления модуля/плагина в последующем. Избегайте скачек версий.

Auth_guests / Auth_members - права, которые будут включены по умолчанию для гостей / пользователей (группа 4). Используется система RWA12345 (Чтение / Запись / Администрирование / 5 дополнительных ключей)

Lock_guests / Lock_members – права, которые будут заблокированы (недоступны для редактирования) для гостей / пользователей

Admin_icon – Путь к иконке. Если необходимо добавить иконку в шапку админ-панели. Данная опция доступна только лишь для модулей с подключенной частью admin

Блок COT_EXT_CONFIG и COT_EXT_CONFIG_STRUCTURE содержать информацию в одинаковом формате, поэтому рассматривать их будем блоком. Данные модули позволяют нам добавить конфигурацию/настройки модуля в админ-панели. COT_EXT_CONFIG – вывод общих опций для плагина. Используются на сайте как $cfg['plugins']['код_плагина']['опция'] - для плагинов или $cfg['код_модуля']['опция'] – для модулей. COT_EXT_CONFIG_STRUCTURE - доступен только для модулей, которые используют категории (например модули page и forums). Доступ к данным опциям $cfg['код_модуля']['код_категории']['опция'].

Теперь собственно о структуре строки опции в конфиг файле:

Код_опции=Номер:Тип:Параметры:По_умолчанию:Подпись

Подпись – это то, как будет отображаться текст в админ-панели. Данную часть можно указать непосредственно в setup файле, или использовать lang файлы, где подпись будет в формате:

$L['cfg_код_опции'] = array('Подпись', 'Дополнительная пояснительная записка');

Номер – это последовательность отображения данной опции в админ-панели при конфигурации модуля/плагина.

По_умолчанию – значение по умолчанию, которое будет выставлено сразу после установки модуля/плагина.

Тип – тип поля, существуют следующие типы полей (смотрим функцию cot_config_parse() файла configuration.php):

  • string – строка. Параметры не используются
  • select – Селект. В качестве параметров указываются варианты выбора. Данные варианты доступны для локализации в виде ланг строки $L['cfg_код_опции_params'] = array(); (введено в сиене)
  • radio – радио-выключатель. Может быть 0 – выключен или 1 - включен.
  • callback – callback функция – в качестве параметра указывается имя функции (новое в сиене)
  • hidden – параметр не доступный для правки из-под админ панели (новое в сиене).
  • separator – специальный вид конфигуратора. Необходим для визуального разделения большого количество опций в админ-панели (новое в сиене).
  • range – диапазон. Тот же select – но в виде диапазона чисел. В качестве параметров через запятую указывается минимальное и максимальное значение (новое в сиене).
  • textarea – текстовое поле.

С параметрами разобрались. Все необходимы прочие действия при установке, будь то SQL патчи или PHP, находятся в папке setup модуля (модуль.install.php, модуль.uninstall.php, модуль.install.sql, модуль.uninstall.sql).

Помимо этого. При установке Cotonti необходимо "знать", какой файл для чего использовать и где использовать. Для этого у всех файлов в корневой директории должны быть прописаны заголовки в определенном формате:

/* ====================
[BEGIN_COT_EXT]
Hooks=admin
[END_COT_EXT]
==================== */

В отличие от Cotonti Genoa в Cotonti Siena обязательно указывается лишь хук, остальные элементы автоматически указываются.

Хуки - это место, в котором наш файл будет подключен. Помимо хуков внутри файлов есть еще, которые необходимы для отдельного независимого отображения страницы – standalone, ajax (отображение страницы без шапки и футера), tools(админка для плагинов), admin(админка для модулей). Можно указывать не 1 хук, а несколько через запятую – тогда файл будет подключен в нескольких местах.

Order – еще 1 параметр, который доступен для объявления, И по умолчанию равен 10. Необходим для создания правильной очередности подключения файлов для данного хука.

Tags – например header.tpl:{TAG1}, {TAG2}; footer.tpl:{TAG3} – указывает теги, которые будут использованы в шаблонах, необходимо для того чтобы облегчить установку плагина администраторам сайта.

Хотелось бы напоследок отметить еще одно ключевое отличие Siena: теперь все файлы модуля должны(!) иметь определенное имя:

КОДМОДУЛЯ.ЧАСТЬ.php

О других возможностях в работе инсталятора будет написано позднее.


Комментарии

Комментарии отсутствуют
У Вас есть вопросы?
Давайте обсудим их! Продумаем! Сделаем!
Напишите прямо сейчас!

Новый комментарий

Имя:
:

Смотрите также:

Нет изображения

Siena. Создаем свой модуль. Краткая информация.

Разбирается с setup файлом модулей
Нет изображения

Custom Metas в 1 шаг

Добавляем текст в head часть без редактирования шаблонов
Нет изображения

Работа с БД

Азы работы с базами данных в Cotonti Siena
Нет изображения

Cotonti Developer Tools

Первая утилита разработчика Cotonti
Нет изображения

Siena. Первое знакомство. Структура файлов.

Потытаемся разобраться где что искать
Нет изображения

ЧПУ пресет для Siena

Готовый пресет красивых урлов
Первый контакт с нами