Голосование
Какую CMS Вы предпочитаете
AtomX
Fapos CMS
Drunya CMS
Топ новостей
- Генератор аватарок в стиле пиксель-арт
- Скачать Fapos CMS 1.1.8 Бесплатно
- Цунами в Японии. Последствия.
- Предварительная инфа о FAPOS 1.1.9. Часть 2
- Описание версии CMS Fapos 0.9.9
- Новая версия Fapos 1.3
- Половина россиян не смогла отличить легальный контент
- Что есть Fapos CMS
- Убийца Apache у вас на пороге
- Открытое тестирование Fapos 0.9.9
Последние комментарии
Топ пользователей
Сайты на AtomX CMS
Хоть в документации и освещена эта тема, тут я постараюсь раскрыть ее более подробно и с примерами. Так сказать - разжевать. Надеюсь это повлечет волну плагинов для, всеми нами любимого, движка).
И так, как делать плагины для Fapos CMS?
Есть несколько пунктов, которые просто обязательны. Это как бы система, которая призвана внести некий порядок. Хотя сама архитектура плагина может быть несоизмеримо объемной и ограничена, в конечном счете, только вашей фантазией.
1. Все плагины должны находиться в папке /sys/plugins/. Иначе система их просто не увидит.
2. Плагин Fapos CMS, должен содержать, как минимум, два файла: index.php и config.dat.
3. Должны быть соблюдены соглашения имен методов, классов и настроек. Только обязательных. Их всего несколько штук. Далее начинается полет фантазии.
И так начинаем.
Первым делом, нам надо определиться, под какой хук мы будем писать плагин(список и детальное описание хуков скоро будет в документации и я напишу отдельный пост на эту тему). Для примера, возьмем хук before_view. Этот хук(hook) позволяет манипулировать полностью сформированной страницей, прямо перед ее выводом.
Теперь придумываем название нашего будущего плагина. Я не смог придумать ничего оригинальнее fufuplugin(уж простите).
Все эти данные говорят нам о том, что каталог для нашего плагина будет называться before_view_fufuplugin. Создаем этот каталог и в нем два файла. index.php и config.dat. PHP файл - это файл с логикой плагина. Там будет наш php код. config.dat - это конфигурационный файл. С ним частенько возникают вопросы, по этому я остановлюсь на нем подробно.
Конфиг должен содержать, как минимум, следующие параметры:
className - это название класса, который будет находится в файле index.php. Позже вы увидите это.
title - название(любое)
description - описание(любое)
active - ставим 1. Это будет означать, что плагин работает.
Все эти настройки должны храниться в виде сериализованного массива. Я покажу простой скрипт для создания такого конфига.
После запуска скрипта, в каталоге с ним появится наш конфиг.
Хочу, так же, добавить, что конфиг может содержать любые дополнительные настройки, в том числе, и те, которые потом мы сможем изменять через админку. Ну или как угодно.
А теперь я покажу, как должен будет выглядеть самый простой класс для этого плагина. Файл index.php
Метод common обязательный. Управление с хука передается именно ему, а дальше вы вольны делать, что угодно.
Параметр $params - это данные с хука. В данном случае, это вся страница. Обратите внимание, я назвал класс именно так, как прописал в конфиге - это важно. Иначе плагин не будет работать.
Теперь имея такой плагин, мы можем совершать любые действия. Например использовать другие методы из нашего класса или инклудить другие файлы и использовать те функции, что в них находятся. Никаких ограничений.
Ну а теперь, самое интересное - как управлять всем этим из админки. Сейчас я расскажу, как собрать плагин, который добавит в админку новые страницы для настроек. Для этого нам понадобится создать в каталоге нашего плагина еще один файл - settings.php. Что бы все работало, как надо, есть лишь одно условие - этот файл должен определять переменную $output.
Например(settings.php):
Если вашь файл settings.php будет содержать такую строку, перейдя на страницу настройки своего плагина, вы увидите текст Plugin settings.
Но есть вещи по интереснее. Например мы желаем, что бы у нас была не одна страница а несколько и мы могли перемещаться между ними для детальной настройки нашего плагина Fapos CMS. На этот случай, нам надо предусмотреть логику нашего кода в файле settings.php и знать как формировать ссылки на наши страницы. Дело в том, что для перехода к настройкам плагина мы должны перейти по адресу host.com/admin/plugins.php?ac=edit&dir=каталог плагина. То есть в нашем случае, это будет host.com/admin/plugins.php?ac=edit&dir=before_view_fufuplugin. Теперь о логике самого файла settings.php.
Как видите, мы должны передать два обязательных параметра, но никто не запрещает добавлять свои. Например мы можем сделать, что-то типа:
Думаю тут все понятно. Мы просто передаем дополнительный параметр page и на основе этого параметра создаем логику.
Вот и все, что надо для простейшего плагина. Но помните, в каталоге с плагином у вас может находиться любое количество других папок и файлов. По сути, вы можете создавать плагины с функционалом целого модуля.
Желаю вам легкого осознания всего вышеизложенного и жду ваши плагины в разделе форума "готовое". Плагины с хорошими отзывами будут переноситься в фаловый архив Fapos CMS.
Спасибо и не переключайте)
И так, как делать плагины для Fapos CMS?
Есть несколько пунктов, которые просто обязательны. Это как бы система, которая призвана внести некий порядок. Хотя сама архитектура плагина может быть несоизмеримо объемной и ограничена, в конечном счете, только вашей фантазией.
1. Все плагины должны находиться в папке /sys/plugins/. Иначе система их просто не увидит.
2. Плагин Fapos CMS, должен содержать, как минимум, два файла: index.php и config.dat.
3. Должны быть соблюдены соглашения имен методов, классов и настроек. Только обязательных. Их всего несколько штук. Далее начинается полет фантазии.
И так начинаем.
Первым делом, нам надо определиться, под какой хук мы будем писать плагин(список и детальное описание хуков скоро будет в документации и я напишу отдельный пост на эту тему). Для примера, возьмем хук before_view. Этот хук(hook) позволяет манипулировать полностью сформированной страницей, прямо перед ее выводом.
Теперь придумываем название нашего будущего плагина. Я не смог придумать ничего оригинальнее fufuplugin(уж простите).
Все эти данные говорят нам о том, что каталог для нашего плагина будет называться before_view_fufuplugin. Создаем этот каталог и в нем два файла. index.php и config.dat. PHP файл - это файл с логикой плагина. Там будет наш php код. config.dat - это конфигурационный файл. С ним частенько возникают вопросы, по этому я остановлюсь на нем подробно.
Конфиг должен содержать, как минимум, следующие параметры:
className - это название класса, который будет находится в файле index.php. Позже вы увидите это.
title - название(любое)
description - описание(любое)
active - ставим 1. Это будет означать, что плагин работает.
Все эти настройки должны храниться в виде сериализованного массива. Я покажу простой скрипт для создания такого конфига.
1
2
3
4
5
6
7
<?php $conf = array(
'className' => 'Fufuplugin',
'title' => 'fufu',
'description' => 'simple plugin',
'active' => 1,
);
file_put_contents('config.dat', serialize($conf));?>
Хочу, так же, добавить, что конфиг может содержать любые дополнительные настройки, в том числе, и те, которые потом мы сможем изменять через админку. Ну или как угодно.
А теперь я покажу, как должен будет выглядеть самый простой класс для этого плагина. Файл index.php
1
2
3
4
5
6
<?php class Fufuplugin {
public function common($params) {
}
}?>
Параметр $params - это данные с хука. В данном случае, это вся страница. Обратите внимание, я назвал класс именно так, как прописал в конфиге - это важно. Иначе плагин не будет работать.
Теперь имея такой плагин, мы можем совершать любые действия. Например использовать другие методы из нашего класса или инклудить другие файлы и использовать те функции, что в них находятся. Никаких ограничений.
Ну а теперь, самое интересное - как управлять всем этим из админки. Сейчас я расскажу, как собрать плагин, который добавит в админку новые страницы для настроек. Для этого нам понадобится создать в каталоге нашего плагина еще один файл - settings.php. Что бы все работало, как надо, есть лишь одно условие - этот файл должен определять переменную $output.
Например(settings.php):
1
2
<?php $output = 'Plugin settings';?>
Но есть вещи по интереснее. Например мы желаем, что бы у нас была не одна страница а несколько и мы могли перемещаться между ними для детальной настройки нашего плагина Fapos CMS. На этот случай, нам надо предусмотреть логику нашего кода в файле settings.php и знать как формировать ссылки на наши страницы. Дело в том, что для перехода к настройкам плагина мы должны перейти по адресу host.com/admin/plugins.php?ac=edit&dir=каталог плагина. То есть в нашем случае, это будет host.com/admin/plugins.php?ac=edit&dir=before_view_fufuplugin. Теперь о логике самого файла settings.php.
Как видите, мы должны передать два обязательных параметра, но никто не запрещает добавлять свои. Например мы можем сделать, что-то типа:
1
2
3
4
<?php if (!empty($_GET['page']) && $_GET['page'] == 2)
$output = '<a href="/admin/plugins.php?ac=edit&dir=before_view_fufuplugin&page=1">To page 1</a>';
else
$output = '<a href="/admin/plugins.php?ac=edit&dir=before_view_fufuplugin&page=2">To page 2</a>';?>
Вот и все, что надо для простейшего плагина. Но помните, в каталоге с плагином у вас может находиться любое количество других папок и файлов. По сути, вы можете создавать плагины с функционалом целого модуля.
Желаю вам легкого осознания всего вышеизложенного и жду ваши плагины в разделе форума "готовое". Плагины с хорошими отзывами будут переноситься в фаловый архив Fapos CMS.
Спасибо и не переключайте)
Комментарии
-
ARMI
документация - Для разработчиков - Устройство шаблоновДата отправления: 12 Дек 2011 -
Drunya
Ну об этом уже не одна статья написана и даже видео есть. В Fapos CMS шаблоны содержат только HTML и CSS, так что там даже в программировании разбираться не надо.Дата отправления: 12 Дек 2011 -
DachTeam
какие обизательные файлы, каркас, синтаксис, ну и все в этом духеДата отправления: 11 Дек 2011 -
DachTeam
ет понятно, я может не так выразился как зделать свой шаблон?Дата отправления: 11 Дек 2011 -
Сашка_из_Шебекино
DachTeam, положи шаблон в папку template, а затем в админке в общих настройках смени дизайн на новыйДата отправления: 11 Дек 2011 -
DachTeam
ну с плагинами кое как понятно, но как шаблон поставить на уже работающий сайтДата отправления: 11 Дек 2011
Категории:
Сейчас online: 34. Зарегистрированных: 0. Гостей: 34.
AtomX 2.8 Beta - Новая версия бесплатной CMS
AtomX 2.8 Beta - Новая версия бесплатной CMS
Программирование - что может быть проще.
Программирование - что может быть проще.
AtomX 2.8 Beta - Новая версия бесплатной CMS
AtomX 2.8 Beta - Новая версия бесплатной CMS
Написание простого вируса в блокноте
Что такое API и для чего они нужны
Классы в PHP для чайников
Написание простого вируса в блокноте