Пример простейшего расширения phpBB 3.1 / Ascraeus

В данном подфоруме будут располагаться все статьи, помогающие освоиться в администрировании форума phpBB 3.1 / Ascraeus.

Модераторы: Vl@d1m1r, Lorem Ipsum, Atlas

Ответить
Аватара пользователя
DeaDRoMeO
Старожил Форума
Старожил Форума
Сообщения: 16763
Стаж: 13 лет
Откуда: Витебск
Контактная информация:

Пример простейшего расширения phpBB 3.1 / Ascraeus

Сообщение DeaDRoMeO »

Всем привет, сегодня мы рассмотрим пример простейшего расширения для phpBB 3.1 / Ascraeus. Простейшее оно потому, что в нем будут использоваться только события шаблонов и ничего более. Для примера разберем расширение от нашего форума .

В данном расширении использовано всего лишь одно шаблонное событие, а именно overall_header_head_append, событие добавляющее нужный код перед закрывающим тегом </head>. Конечно, предыдущее предложение мало кто поймет, поэтому обьясню еще подробней :-00):

В phpBB 3.1 / Ascraeus при установке расширений вам не надо делать правки кода, никогда и ни при каких обстоятельствах. Потому мы используем события, полный список которых , нас интересуют события Template Events (они же шаблонные события или события в шаблонах). Как оно работает ??? А работает оно следующим образом....

Мы ставим задачу себе подключить скрипт в шапку, без правок кода. Следовательно нам нужно вставить код до закрывающего тега </head>, идем в список шаблонных событий и видим, что нам подходит overall_header_head_append. Как им воспользоваться ??? А пользуемся им следующим образом....

Создаем html-файл с именем, аналогичным названию события, в нашем случае нам нужно создать файл overall_header_head_append.html со следующим содержимым

Код: Выделить всё

<script type="text/javascript" src="путь до скрипта/snowstorm.js"></script>
Тобишь имя файла задает тип события, а его содержимое вставляется в место, положенное по событию... Но этого мало для полноценного расширения, ложим наш overall_header_head_append.html в папку имя_автора/имя_расширения/styles/имя_поддерживаемого_стиля/template/event/ либо если событие не зависит от верстки стиля - имя_автора/имя_расширения/styles/all/template/event/. Потом в папке имя_автора/имя_расширения/ создаем 2 файла, первый - composer.json с таким содержимым

Код: Выделить всё

{
	"name": "имя_автора/имя_расширения",
	"type": "phpbb-extension",
	"description": "Описание вашего расширения",
	"homepage": "Адрес по которому можно скачать его",
	"version": "Версия расширения в численном виде",
	"time": "Дата создания расширения",
	"license": "GPL-2.0",
	"authors": [{
			"name": "Имя автора ",
			"username": "Ник автора",
			"email": "Контактный емейл",
			"homepage": "Домашняя страница автора",
			"role": "Роль "
		}],
	"require": {
		"php": ">=5.3.3"
	},
	"extra": {
		"display-name": "Имя расширения в админке",
			"soft-require": {
         "phpbb/phpbb": "3.1.*@dev"
      }
	}
}
И второй - ext.php

Код: Выделить всё

<?php
/**
*
* @package phpBB Extension
* @copyright (c) 2013 phpBB Group
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
*
*/

namespace имя_автора/имя_расширения;

/**
* @ignore
*/

class ext extends \phpbb\extension\base
{
}
имя_автора/имя_расширения - всегда должно быть написано на английской раскладке !!!

Собственно и все, наше маленькое расширение готово, осталось разложить все файлы по правильным папкам, ничего сложного, никаких правок, все через события шаблонов :hi_hi_hi:
На вопросы, связанные с phpBB, по ЛС не отвечаю !!!
#1
Ответить
  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение