Уважаемые пользователи!
C 7 ноября 2020 года phpBB Group прекратила выпуск обновлений и завершила дальнейшее развитие phpBB версии 3.2.
С 1 августа 2024 года phpBB Group прекращает поддержку phpBB 3.2 на официальном сайте.
Сайт официальной русской поддержки phpBB Guru продолжит поддержку phpBB 3.2 до 31 декабря 2024 года.
С учетом этого, настоятельно рекомендуется обновить конференции до версии 3.3.

Расширения - это просто!

Форум для авторов расширений для phpBB. Здесь можно попросить помощи в разработке у коллег.
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Мини [FAQ] по phpBB3.1.x/3.3.x | FAQ | Как задавать вопросы | Как устанавливать расширения

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
Аватара пользователя
Борис Бердичевский
phpBB 3.0.0 RC1
Сообщения: 1457
Стаж: 16 лет 4 месяца
Откуда: Израиль, Беэр-Шева
Благодарил (а): 33 раза
Поблагодарили: 61 раз

Re: Расширения - это просто!

Сообщение Борис Бердичевский »

Вот это сработало!
<link href="./ext/borisba/usernotice/styles/prosilver/theme/custom_link_colors.css?assets_version=71" rel="stylesheet" type="text/css" media="screen, projection" />

Добавлено спустя 6 минут 41 секунду:
И такой вопрос. У меня 2 расширения, которые не должны быть включены вместе, иначе ерунда получается.
Как сделать так, чтобы при включении одного второе отключалось не вручную?
После нескольких лет общения здесь и техсопровождения форумов я наконец понял, что ничего не понимаю в phpBB!
Аватара пользователя
Борис Бердичевский
phpBB 3.0.0 RC1
Сообщения: 1457
Стаж: 16 лет 4 месяца
Откуда: Израиль, Беэр-Шева
Благодарил (а): 33 раза
Поблагодарили: 61 раз

Re: Расширения - это просто!

Сообщение Борис Бердичевский »

В общем так, патент мой! :)
На два расширения можно завести только одно событие шаблона! Оно будет в первом из расширений. Во втором папка styles/prosilver/template/event пустая.
Второй listener в принципе также не нужен, т.е. не нужно в нём ничего никуда передавать (но я оставил его на всякий пожарный). А список передаваемых переменных дополняем в listener первого расширения. Чтобы оба сразу не показывались, я добавил условие логческое И НЕпоказа второго расширения -- к булевой переменной показа первого. Ессно, в объединенном HTML-е - событии шаблона будут условно показываться оба расширения, то есть то, что я хотел показать.
Второе расширение будет иметь приоритет показа, т.е. когда включат его (имеется в виду радио-кнопка в настройках), автоматически не будет показано первое.
После нескольких лет общения здесь и техсопровождения форумов я наконец понял, что ничего не понимаю в phpBB!
Аватара пользователя
Алг
Former team member
Сообщения: 933
Стаж: 11 лет 8 месяцев
Откуда: Израиль
Благодарил (а): 73 раза
Поблагодарили: 248 раз

Re: Расширения - это просто!

Сообщение Алг »

Борис Бердичевский, а почему бы не сделать это одним расширением?

Добавлено спустя 3 минуты 59 секунд:
Борис Бердичевский писал(а):Вот это сработало!
<link href="./ext/borisba/usernotice/styles/prosilver/theme/custom_link_colors.css
а в каком файле вы ставили это обращение?
Там упёртость и инертность, могут, кстати, в морду дать.
А ты проявляй интеллигентность, постарайся убеждать...

Т. Шаов
Аватара пользователя
Борис Бердичевский
phpBB 3.0.0 RC1
Сообщения: 1457
Стаж: 16 лет 4 месяца
Откуда: Израиль, Беэр-Шева
Благодарил (а): 33 раза
Поблагодарили: 61 раз

Re: Расширения - это просто!

Сообщение Борис Бердичевский »

Почему 2 расширения? Они совершенно разные по смыслу, и одно из них предназначено исключительно для моего форума.
В файле overall_header_stylesheets_after.html
После нескольких лет общения здесь и техсопровождения форумов я наконец понял, что ничего не понимаю в phpBB!
Аватара пользователя
Алг
Former team member
Сообщения: 933
Стаж: 11 лет 8 месяцев
Откуда: Израиль
Благодарил (а): 73 раза
Поблагодарили: 248 раз

Re: Расширения - это просто!

Сообщение Алг »

Борис Бердичевский писал(а): файле overall_header_stylesheets_after.html
на оффе по этому событию есть след
Add asset calls after stylesheets within the `</head>` tag. Note that INCLUDECSS will not work with this event
https://wiki.phpbb.com/Event_List
поппробуйте перенести в overall_header_after.html или в overall_header_head_append.html ( у меня во втором событии все INCLUDECSS пашут
Там упёртость и инертность, могут, кстати, в морду дать.
А ты проявляй интеллигентность, постарайся убеждать...

Т. Шаов
Аватара пользователя
Борис Бердичевский
phpBB 3.0.0 RC1
Сообщения: 1457
Стаж: 16 лет 4 месяца
Откуда: Израиль, Беэр-Шева
Благодарил (а): 33 раза
Поблагодарили: 61 раз

Re: Расширения - это просто!

Сообщение Борис Бердичевский »

Ну, особого смысла не вижу, так тоже работает. Тем более, что моя вставка внутри overall_header.
Кстати, а как заменить весь overall_header в комплекте, ведь многие так делают?!
Вообще, я ввёл новое событие шаблона, но если можно поменять весь overall_header, то я бы сделал именно так.
После нескольких лет общения здесь и техсопровождения форумов я наконец понял, что ничего не понимаю в phpBB!
Аватара пользователя
Алг
Former team member
Сообщения: 933
Стаж: 11 лет 8 месяцев
Откуда: Израиль
Благодарил (а): 73 раза
Поблагодарили: 248 раз

Re: Расширения - это просто!

Сообщение Алг »

я бы свой стиль сделала
Там упёртость и инертность, могут, кстати, в морду дать.
А ты проявляй интеллигентность, постарайся убеждать...

Т. Шаов
Аватара пользователя
Борис Бердичевский
phpBB 3.0.0 RC1
Сообщения: 1457
Стаж: 16 лет 4 месяца
Откуда: Израиль, Беэр-Шева
Благодарил (а): 33 раза
Поблагодарили: 61 раз

Re: Расширения - это просто!

Сообщение Борис Бердичевский »

Ну, зачем такая морока, только overall_header.
Получается, что проще полезть в основную часть кода (в стили) и поменять.

Добавлено спустя 4 минуты 30 секунд:
Или пусть дадут условную вставку overall_header и вместо неё (вставки) -- событие шаблона.
После нескольких лет общения здесь и техсопровождения форумов я наконец понял, что ничего не понимаю в phpBB!
Аватара пользователя
Алг
Former team member
Сообщения: 933
Стаж: 11 лет 8 месяцев
Откуда: Израиль
Благодарил (а): 73 раза
Поблагодарили: 248 раз

Re: Расширения - это просто!

Сообщение Алг »

и получить впоследствии головную боль при обновлении
Там упёртость и инертность, могут, кстати, в морду дать.
А ты проявляй интеллигентность, постарайся убеждать...

Т. Шаов
Аватара пользователя
Борис Бердичевский
phpBB 3.0.0 RC1
Сообщения: 1457
Стаж: 16 лет 4 месяца
Откуда: Израиль, Беэр-Шева
Благодарил (а): 33 раза
Поблагодарили: 61 раз

Re: Расширения - это просто!

Сообщение Борис Бердичевский »

overall_header -- довольно простая штука, и она меняется довольно редко. Смерджить её обычно труда не представляет.

Добавлено спустя 3 минуты 13 секунд:
Головную боль всё равно можно получить, если в тот же overall_header внесут изменения, не совместимые с событием шаблона.

Добавлено спустя 6 минут 9 секунд:
Вообще-то, практически, мои вставки HTML существуют давно, с ранних версий 3.0, и сейчас вошли только с минимальными изменениями, инициированными мной, а не переходом на 3.1.
После нескольких лет общения здесь и техсопровождения форумов я наконец понял, что ничего не понимаю в phpBB!
Аватара пользователя
Татьяна5
Поддержка
Поддержка
Сообщения: 12444
Стаж: 12 лет 8 месяцев
Благодарил (а): 166 раз
Поблагодарили: 2479 раз

Re: Расширения - это просто!

Сообщение Татьяна5 »

Создать стиль с одним только overall_header.html, а остальное тянуть наследованием из стандартного просильвера
Аватара пользователя
Webliberty
phpBB 2.0.5
Сообщения: 472
Стаж: 12 лет 4 месяца
Благодарил (а): 136 раз
Поблагодарили: 63 раза

Re: Расширения - это просто!

Сообщение Webliberty »

А можно самому, не будучи программистом, сделать свое расширение?

Было бы здорово, если привести маленькие примеры. Например, как заменить строку в файле на свою или после такой-то строки добавить новую.
Мой форум на phpBB 3.3.8 (начинал с phpBB 3.0.9)
Подпись заверена нотариусом :P
Аватара пользователя
Татьяна5
Поддержка
Поддержка
Сообщения: 12444
Стаж: 12 лет 8 месяцев
Благодарил (а): 166 раз
Поблагодарили: 2479 раз

Re: Расширения - это просто!

Сообщение Татьяна5 »

seodirection писал(а):А можно самому, не будучи программистом, сделать свое расширение?
Можно. Простенькое только с шаблонами и школьник создаст, посложней - уже надо разбираться с jQuery и php

Объяснения создания расширений сейчас разбросаны по темам http://anderson.phpbbguru.net/viewtopic.php?f=5&t=60 и http://anderson.phpbbguru.net/viewtopic.php?f=5&t=94
seodirection писал(а):как заменить строку в файле на свою или после такой-то строки добавить новую
В php - никак. Можно только переопределить переменные в местах, где добавлены события.
В шаблоне - добавить можно только там, где есть события, либо с помощью jQuery; заменить с помощью jQuery, либо подменой переменной через php
Аватара пользователя
Webliberty
phpBB 2.0.5
Сообщения: 472
Стаж: 12 лет 4 месяца
Благодарил (а): 136 раз
Поблагодарили: 63 раза

Re: Расширения - это просто!

Сообщение Webliberty »

Вот например такое в шаблоне

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

<!-- IF U_CANONICAL -->
	<link rel="canonical" href="{U_CANONICAL}" />
<!-- ENDIF -->
U_CANONICAL это же переменная? Мне ее нужно заменить на свою. Правильно если так ее заменить расширением:

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

<?php
/**
* @package canonical.php
*/

namespace Webliberty\Canonical\event;

use Symfony\Component\EventDispatcher\EventSubscriberInterface;

class listener implements EventSubscriberInterface
{
	static public function getSubscribedEvents()
	{
		return array(
			'U_CANONICAL' => 'MyCanonical',
		);
	}

	public function MyCanonical($event)
	{
		return (array(
			'U_CANONICAL'			=> generate_board_url() . '/' . append_sid("viewtopic.$phpEx", "f=$forum_id&t=$topic_id" . ((strlen($u_sort_param)) ? "&$u_sort_param" : '') . (($start) ? "&start=$start" : ''), true, ''),
		);
	}
}

?>
Но опять же непонятно как назначить файл в котором будет идти замена, и что делать если несколько файлов и в каждом разные данные нужны...
Мой форум на phpBB 3.3.8 (начинал с phpBB 3.0.9)
Подпись заверена нотариусом :P
Аватара пользователя
Борис Бердичевский
phpBB 3.0.0 RC1
Сообщения: 1457
Стаж: 16 лет 4 месяца
Откуда: Израиль, Беэр-Шева
Благодарил (а): 33 раза
Поблагодарили: 61 раз

Re: Расширения - это просто!

Сообщение Борис Бердичевский »

Я вижу, господам-разработчикам расширений лень было добавить соответствующую строчку в composer.json
"description": "<Краткое описание расширения, можно на русском>",
например
"description": "Moves Profile from right to left",
:)
После нескольких лет общения здесь и техсопровождения форумов я наконец понял, что ничего не понимаю в phpBB!

Вернуться в «Для разработчиков»