Инструменты пользователя

Инструменты сайта


основы_плагинов

Это старая версия документа!


Содержание

Плагины позволяют легко расширять или изменять MyBB модульным способом, так что изменения могут быть легко активированы, деактивированы, установлены или удалены. Вы также можете безопасно заменить основные файлы MyBB во время обновления, не опасаясь потерять свои модификации.

Поэтому настоятельно рекомендуется вносить любые изменения в функциональность MyBB по умолчанию через систему плагинов, а не изменять файлы.

Разработка плагинов требует хороших знаний PHP, SQL и достаточных знаний MyBB для навигации по основным файлам, чтобы вы могли найти ответы в исходном коде. Если вам нужна помощь, разместите тему в разделе Plugin Development на форумах Сообщества MyBB для получения помощи от сообщества.

Основы

Во-первых, вы должны выбрать название плагина в нижнем регистре, для его использование в некоторых функциях плагина. Эта строка должна быть уникальной и актуальной для вашего плагина. В этом примере мы будем использовать “myplugin”.

Создайте PHP файл для вашего плагина в inc/plugins и назовите его в соответствии с вышеизложенным, например inc/plugins/myplugin.php.

Начните с ввода следующего кода в файл плагина:

<?php

// Disallow direct access to this file for security reasons
if(!defined("IN_MYBB"))
{
	die("Direct initialization of this file is not allowed.");
}


function myplugin_info()
{
	return array(
		"name"			=> "",
		"description"	=> "",
		"website"		=> "",
		"author"		=> "",
		"authorsite"	=> "",
		"version"		=> "1.0",
		"guid" 			=> "",
		"codename"		=> "",
		"compatibility" => "*"
	);
}

function myplugin_install()
{

}

function myplugin_is_installed()
{

}

function myplugin_uninstall()
{

}

function myplugin_activate()
{

}

function myplugin_deactivate()
{

}
Перечисленные выше функции должны иметь префикс названия плагина. Поэтому вы должны заменить myplugin на имя файла вашего плагина, например myplugin_info должен называться foobar_info, если ваш файл плагина был назван foobar.php.

В _info() функция-это единственная функция. Тем не менее, вы должны убедиться, что все изменения, внесенные install или activate, отменены в uninstall или deactivate, соответственно. Например, если вы создаете таблицу в _install (), вы должны удалить эту таблицу в _uninstall().

Заполните тело функций в файле плагина по мере необходимости:

_info()

Возвращает массив информации о плагине::

name: название плагина
description: описание того, что делает плагин
website: сайт поддержки плагина (опционально)
author: автор
authorsite: сайт автора (опционально)
version: версия плагина
guid: уникальный идентификатор, выданный сайтом Mybb Extend для проверки версий (устарел, предпочитаю кодовое имя)
codename: уникальное кодовое имя плагина в разделе mods
compatibility: список поддерживаемых версий MyBB в формате CSV. Например: “121,123”, “12*”. Поддерживаются групповые символы.

N.B.

Кодовое имя совпадает с именем плагина, которое используется для обозначения функций. Желательно использовать следующий код:

$codename = str_replace('.php', '', basename(__FILE__));

_install()

Вызывается при установке плагина нажатием кнопки «Установить» в менеджере плагинов. Если процедуры установки не существует, кнопка «Установить» не отображается в панели администратора, и предполагается, что любая работа будет выполняться в подпрограмме _activate().

В этой функции обычно создаются необходимые таблицы, поля и настройки.

основы_плагинов.1545659397.txt.gz · Последнее изменение: 24.12.2018 14:49 — vladimir