Изучаем систему вместе (программирование)

#31 22 августа 2012 в 00:39
Здорово))) для удобство давате откроем демо плагин он там же лежит и поговорим о структуре плагина
#32 22 августа 2012 в 00:44

для удобство давате откроем демо плагин он там же лежит и поговорим о структуре плагина

Димитриус
  1. class p_demo extends cmsPlugin
Как я понимаю, это код, для распознавания движком даннаго файла как плагина.
  1. public function __construct()
  2. parent::__construct();
Подключение конструкций.
Дальше идут уже подсказки.
// Информация о плагине
// Настройки по-умолчанию
// События, которые будут отлавливаться плагином
// Процедура установки плагина
// Процедура обновления плагина
// Обработка событий
// "Приватные" функции.
#33 22 августа 2012 в 00:45
В плагине мы можем выделить основные части это:
Шапка
  1. class p_demo extends cmsPlugin {
  2. public function __construct(){
  3.  
Тут у нас нас название плагина надо переправить на своё
. Затем часть конструктор
  1. parent::__construct();
Тут описываются плагин
Процедура Инсталяции
  1. public function install(){
Это те действия которые выполнит система при установке плагина, чаще всего это создаст новую таблицу
Затем обновление
  1. public function upgrade(){
Это если у нас выпустилась новая версия, и например в таблице надо добавить новую колонку, так же делаем запрос
Затем обработка событий. Ведь плагин реагирует НА САБАТИЯ это ключивая особенность плагина
  1. public function execute($event, $item){
#34 22 августа 2012 в 00:46
  1. Отлично!
#35 22 августа 2012 в 00:46
Давай разберём подробней начнём шапку. Давай вмсте напишем этот код.
#36 22 августа 2012 в 00:47
вставь сюда целиком с 3 по 25 строки, будем править именно в твоём посте, начиная с public function __construct(){
#37 22 августа 2012 в 00:48

Давай разберём подробней начнём шапку. Давай вмсте напишем этот код.

Димитриус
class p_noticeaway cmsPlugin {
public function __construct(){
#38 22 августа 2012 в 00:49
  1. class p_notice_remove extends cmsPlugin {
  2.  
  3. // ==================================================================== //
  4.  
  5. public function __construct(){
  6.  
  7. parent::__construct();
  8.  
  9. // Информация о плагине
  10.  
  11. $this->info['plugin'] = 'p_notice_remove';
  12. $this->info['title'] = 'Уведомлениями при удалении';
  13. $this->info['description'] = 'Уведомлениями при удалении';
  14. $this->info['author'] = 'InstantCMS Team';
  15. $this->info['version'] = '1.0';
  16.  
  17. // События, которые будут отлавливаться плагином (тут я так понимаю указываем где именно будет работать код,
  18. или на какие события)
  19.  
  20. $this->events[] = 'GET_ROUTE_USERS';
  21.  
  22. }
#39 22 августа 2012 в 00:50
extends забыл
#40 22 августа 2012 в 00:51

вставь сюда целиком с 3 по 25 строки, будем править именно в твоём посте

Димитриус
  1. <?php
  2.  
  3. class p_demo extends cmsPlugin {
  4.  
  5. // ==================================================================== //
  6.  
  7. public function __construct(){
  8. parent::__construct();
  9.  
  10. // Информация о плагине
  11.  
  12. $this->info['plugin'] = 'p_demo';
  13. $this->info['title'] = 'Demo Plugin';
  14. $this->info['description'] = 'Пример плагина - Добавляет текст в конец каждой статьи на сайте';
  15. $this->info['author'] = 'InstantCMS Team';
  16. $this->info['version'] = '1.0';
  17.  
  18. // Настройки по-умолчанию
  19.  
  20. $this->config['text'] = 'Added By Plugin From Parameter';
  21. $this->config['color'] = 'blue';
  22. $this->config['counter'] = 1;
  23.  
  24. // События, которые будут отлавливаться плагином
  25.  
  26. $this->events[] = 'GET_ARTICLE';
  27.  
  28. }
#41 22 августа 2012 в 00:53
Да мы заполнили все поля из демо плагина, в низу там есть
  1. $this->config['text'] = 'Added By Plugin From Parameter';
  2. $this->config['color'] = 'blue';
  3. $this->config['counter'] = 1;
Это переменные которые запрашиваются, когда нажимаешь на настройку плагина и пишешь:
  1. $this->config['имя переменной'] = 'Значение';
#42 22 августа 2012 в 00:54
Какие у нас могут быть переменные, настройки? думаю никаких не надо. Согласен?
#43 22 августа 2012 в 00:55

Это переменные которые запрашиваются, когда нажимаешь на настройку плагина и пишешь:

Димитриус
Т.е если я укажу к примеру
  1. $this->config['$fontsize'] = '24';
то у меня шрифт будет 24px?
#44 22 августа 2012 в 00:56
Шрифт сообщение администраторам?
#45 22 августа 2012 в 00:56

Какие у нас могут быть переменные, настройки? думаю никаких не надо. Согласен?

Димитриус
Абсолютно.
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.