Публикации

Пользователь:

Пароль:


Запомнить

Регистрация
Забыли пароль?



Пользователей: 3915
Новичок: Александрович
Поддержи проект
Поддержите проект Webmoney
R197422573540
E197270426287
Z701768662172
Сказали «Спасибо»

Навигация

Пишем свой плагин к е107. Урок I


Автор: Metaller
 8.1 - 14 голосов -

В данной серии уроков мы научимся писать плагины для движка E107 и заодно рассмотрим некоторые встроенные функции в Е107, например, очень полезные функции для работы с базой данных. Авторы движка постарались, чтобы работа с базой данных была как можно проще. Всего будет 3 урока. Можно сразу скачать все три скрипта плагина в разделе даунлоад.

Напишем небольшой плагин, который будет выводить случайный анекдот из базы данных. Данный плагин очень простой и примитивный, имеет минимум функционала. Нашей задачей будет показать, как все-таки пишутся плагины для E107. Можете поупражняться на досуге и развить этот плагин во что-то более дельное.

Суть вопроса.

Нужно создать скрипт, который бы был плагином для Е107, мог бы инсталлироваться как плагин, управляться из админки, ну и конечно, показываться на сайте. Для темы выберем простенькую задачку: показывать анекдоты на сайте в случайном порядке. Анекдоты будут храниться в базе данных. От вас требуется знание PHP и основ MySQL.

Приступим.

Итак, с тех. заданием немного определились. Пожалуй, самое время подробней рассказать о плагинах. Плагин - это дополнительный модуль (набор PHP-скриптов), расширяющий функционал движка. Плагины бывают разные, нужные и не очень. Тем не менее, даже в стандартной поставке Е107 присутствуют немало плагинов, хотя некоторые думают, что это стандартные средства Е107. Для того чтобы система поняла, что есть какой-то плагин, который нужно использовать, нужно проделать некоторые операции.

В каталоге e107_plugins нужно создать файл с описанием плагина plugin.php с некоторым заранее определенным содержимым и еще как минимум один рабочий файл, который будет поддерживать функционал плагина, проще говоря, обработчик. Хотя обычно плагин состоит из большего числа файлов. Например, файла описания плагина, конфигуратора и обработчика. В этом уроке мы рассмотрим содержимое файла plugin.php.Для удобства работы лучше создать отдельную директорию, куда мы будем складывать все наши файлы. Имя директории пусть будет anekdot.

plugin.php - Описание плагина.

Если взглянуть на разные директории с плагинами, то можно убедиться, что почти во всех присутствует этот файл. И даже больше, этот файл во всех плагинах имеет практически одинаковый формат. Поскольку все переменные, описываемые в плагине, должны быть именно такими, какие они есть. Мы тоже не будет отходить от традиций и воспользуемся некоторым шаблоном.

  1.  
  2. <?PHP
  3. $eplug_name = "Анекдотик";
  4. $eplug_version = "0.1";
  5. $eplug_author = "e107club";
  6. $eplug_logo = "button.png";
  7. $eplug_url = "http://e107club.ru";
  8. $eplug_email = "ezik@domain.ru";
  9. $eplug_description = "Этот плагин показывает анекдоты";
  10. $eplug_compatible = "e107 v0.7.22++";
  11. $eplug_readme = "";
  12.  


В общем-то, тут все понятно. Это информация о плагине, которая будет отображаться в админке – управление плагинами.

  1.  
  2. $eplug_folder = "anekdot";
  3.  


Имя папки, в которой будет лежать плагин. В итоге должен получится путь /e107_plugins/anekdot.

  1.  
  2. $eplug_menu_name = "";
  3.  


Оставим пустым, нашему плагину не потребуется.

  1.  
  2. $eplug_conffile = "anekdot_conf.php";
  3.  


Имя файла, отвечающего за настройку плагина.

  1.  
  2. $eplug_icon = $eplug_folder."/images/icon.png";
  3. $eplug_caption =  "Настроить анекдотик";
  4.  


Путь до иконки плагина и название заголовка.

  1.  
  2. $eplug_prefs = "";
  3.  


Заранее определенные настройки. Нам не потребуются.

  1.  
  2. $eplug_table_names = array(
  3.         "anekdot"
  4.         );
  5.  


Список и название таблиц базы данных, которые будут использоваться скриптом. Нам нужна всего одна.Следует заметить, что приставки к названию таблиц будут добавлены автоматически. Например, если у вас при установке движка был задан префикc pref_, то в итоге таблица будет называться pref_anekdot.

  1.  
  2. $eplug_tables = array(
  3.         "CREATE TABLE ".MPREFIX."anekdot (
  4.         id int(9) NOT NULL auto_increment,
  5.         anek text NOT NULL,
  6.         PRIMARY KEY  (id)
  7.         ) ENGINE=MyISAM DEFAULT CHARSET=UTF8;");
  8.  


SQL-скрипт, создающий нужную нам таблицу.

  1.  
  2. $eplug_link = TRUE;
  3.  


Нужно ли добавлять ссылку в главное меню навигации:
TRUE=да FALSE=нет

  1.  
  2. $eplug_link_name = "Хочу анекдот";
  3. $eplug_link_url = e_PLUGIN."anekdot/anekdot.php";
  4.  


Как будет называться ссылка и куда в итоге приведет.

  1.  
  2. $eplug_done = "Поздравляем, все гладко";
  3.  


Надпись по завершении установки плагина.

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

  1.  
  2. $upgrade_add_prefs = "";
  3. $upgrade_remove_prefs = "";
  4. $upgrade_alter_tables = "";
  5. $eplug_upgrade_done = "";
  6. ?>
  7.  


Теперь сохраняем весь наш файл. Поздравляю, начало положено, не так уж и сложно

Продолжение следует...

Перейти к уроку II