Плагин «Модули»

Рубрика: MaxSite CMS -> Плагины -> Ход работ
Понедельник, 3 августа 2009 г.
Просмотров: 4568
Подписаться на комментарии по RSS
]]>
]]>

Хоть MaxSite CMS и предлагает разработчику полную свободу в организации шаблона и вывода (произвольных) данных, в основном вывод осуществляется в блоговом формате. За основу берутся type-файлы шаблона default.

Это упрощает создание шаблонов, где все сводится к дизайну и не требуется сложное программирование. То есть у нас предполагается, что все программирование выполняется через файлы type.

Однако существует еще один способ создания шаблонов, который часто используется в крупных проектах.

В этом случае в шаблоне отмечают необходимые места/блоки вывода, а уже в админке определяют что именно должно выводиться в каждом блоке. Именно для такого вывода и предназначен плагин «Модули» (появился в MaxSite CMS 0.338).

Предположим мы хотим организовать вывод модулей (так будем называть) на главной странице. Для этого в шаблонном index.php подключаем отдельный файл home-module.php (имя произвольно).

  1.  ...
  2.  if ( is_type('home') ) require('type/home-module.php');
  3.  ...

В файле type/home-module.php сделаем вывод одного модуля (дизайн, естествено, вы определите сами):

  1.  # начальная часть шаблона
  2.  require(getinfo('template_dir') . 'main-start.php');
  3.  # Модуль
  4.  if (function_exists('modules_out')) modules_out(1);
  5.  # конечная часть шаблона
  6.  require(getinfo('template_dir') . 'main-end.php');

То есть все свелось к modules_out(1). Параметр - это номер/id модуля.

Сами модули теперь необходимо определить. Делается это в шаблоне в файле modules.php.

  1.  modules_set(1, 'Первый модуль');

На этом всё. Теперь на главной странице будет выведен модуль, содержимое которого мы определим уже в админ-панели.

Наверное вы догадались, что модули в чем-то напоминают ушки. Однако есть небольшое отличие: модуль может быть отдельным файлом, а не только php-кодом.

В настройках модуля (в админ-панели) теперь есть поле для выбора файла. Этот файл будет подключен при выводе модуля. Таким образом мы можем выводить в модуле произвольные файлы. Естественно, что файл модуля может быть запрограммирован под разные задачи. Можно, например, вывести type-файл, или прописать функцию плагина или виджета.

Кроме этого любой файл модуля может иметь собственные настройки. Для этого нужно создать файл с тем же именем в подкаталоге options. Для управления опциями следует использовать недавно появившуюся функцию mso_admin_plugin_options(), где все сводится к «описательному» массиву.

Для проверки и тестирования плагина я сделал модуль test.php. А более подробно всё описание собрал в файле readme.txt.

Данный плагин скорее всего будет предназначен для опытных разработчиков, которые смогут программировать файлы модулей и делать сложные шаблоны/сайты. Данной возможностью я бы хотел продемонстрировать, что MaxSite CMS в состоянии выводить данные не только «по-блогерски», но и помодульно, что характерно для «больших» CMS.

]]>twitter.com Google Buzz google.com bobrdobr.ru del.icio.us technorati.com linkstore.ru news2.ru rumarkz.ru memori.ru moemesto.ru]]>

Комментариев: 3

  1. 2009-08-20 в 12:48:30 | zanuda

    Спасибо за ваш труд и продвижение очень нужного продукта, но снова: "...Данный плагин скорее всего будет предназначен для опытных разработчиков, которые смогут программировать файлы модулей и делать сложные шаблоны/сайты. Данной возможностью я бы хотел продемонстрировать, что MaxSite CMS в состоянии выводить данные не только «по-блогерски», но и помодульно, что характерно для «больших» CMS" ...

    В "больший" CMS подобный функционал строится совсем по другому. "Модуль" создается, активируется, "заполняется" и размещается в нужном месте из "админки". Ведь "MaxSite" позиционируется именно как "CMS", а не как просто "движок". А основные пользователи "Content Maneger System" не программисты, а "контент-менеджеры", люди совершенно далекие от программирования. У них другая задача - наполнить созданный вами "конструктор из коробки" качественной информацией - КОНТЕНТОМ.

    Думаю, что "MaxSite" уже давно переросла статус "движка" для программистов и самое время подумать о пользователях - создателях контента.

  2. 2010-01-24 в 13:17:14 | SkyD
    ]]>]]>

    Доброе время суток!

    Планируется ли добавление многосайтовости (вроде WPMU)?

  3. 2010-01-24 в 13:19:25 | SkyD
    ]]>]]>

    Блин, не на той странице написал. Пардоньте.red face

Оставьте комментарий!

Не регистрировать/аноним

Используйте нормальные имена. Ваш комментарий будет опубликован после проверки.

Если вы уже зарегистрированы как комментатор или хотите зарегистрироваться, укажите пароль и свой действующий email.
(При регистрации на указанный адрес придет письмо с кодом активации и ссылкой на ваш персональный аккаунт, где вы сможете изменить свои данные, включая адрес сайта, ник, описание, контакты и т.д.)



grin LOL cheese smile wink smirk rolleyes confused surprised big surprise tongue laugh tongue rolleye tongue wink raspberry blank stare long face ohh grrr gulp oh oh downer red face sick shut eye hmmm mad angry zipper kiss shock cool smile cool smirk cool grin cool hmm cool mad cool cheese vampire snake excaim question

(обязательно)