Расширения - это просто!
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Мини [FAQ] по phpBB3.1.x/3.3.x | FAQ | Как задавать вопросы | Как устанавливать расширения
Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение
).
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Мини [FAQ] по phpBB3.1.x/3.3.x | FAQ | Как задавать вопросы | Как устанавливать расширения
Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение

-
- phpBB 1.0.0
- Сообщения: 6
- Стаж: 8 лет 4 месяца
- Благодарил (а): 2 раза
Re: Расширения - это просто!
Ребята!
Не могу установить расширение,что только не делал а ничего не получается.. Что не так? Скачал с офф сайта. Распоковал. Установил в папку, а ничего нет.. Подскажите
Не могу установить расширение,что только не делал а ничего не получается.. Что не так? Скачал с офф сайта. Распоковал. Установил в папку, а ничего нет.. Подскажите
У вас нет необходимых прав для просмотра вложений в этом сообщении.
-
- phpBB 2.0.5
- Сообщения: 473
- Стаж: 13 лет 4 месяца
- Благодарил (а): 109 раз
- Поблагодарили: 47 раз
Re: Расширения - это просто!
Добрый вечер! Подскажите, пожалуйста, существует ли возможность заменить строку в файле forumlist_body.html?
Ищу способ заменить строку:
на:
Дело в том, что это единственная правка в этом файле в своем стиле с наследованием от prosilver, поэтому хочется сделать небольшое простенькое расширение для этого 
Ищу способ заменить строку:
Код: Выделить всё
<dl class="row-item {forumrow.FORUM_IMG_STYLE}">
Код: Выделить всё
<dl>

Начинал с phpBB 3.0.9, закончил на phpBB 3.3.11 и продал форум...
Подпись заверена нотариусом
Подпись заверена нотариусом

-
- Поддержка
- Сообщения: 12752
- Стаж: 13 лет 8 месяцев
- Благодарил (а): 159 раз
- Поблагодарили: 2276 раз
Re: Расширения - это просто!
Webliberty, перекрыть ненужные стили в css - не вариант?
Можно ещё через javascript, но это более громоздко, да и срабатывать будет не сразу
Можно ещё через javascript, но это более громоздко, да и срабатывать будет не сразу
-
- phpBB 2.0.5
- Сообщения: 473
- Стаж: 13 лет 4 месяца
- Благодарил (а): 109 раз
- Поблагодарили: 47 раз
Re: Расширения - это просто!
Вариант, но думал есть более элегантное решение)
Начинал с phpBB 3.0.9, закончил на phpBB 3.3.11 и продал форум...
Подпись заверена нотариусом
Подпись заверена нотариусом

-
- phpBB Guru
- Сообщения: 16947
- Стаж: 18 лет 11 месяцев
- Откуда: Красноярск
- Благодарил (а): 549 раз
- Поблагодарили: 1700 раз
Re: Расширения - это просто!
Есть мысль добавить пару событий для манипуляции скомпилированным потоком перед выводом его в браузер, и я ее думаю.
-
- phpBB 3.0.0 RC1
- Сообщения: 1457
- Стаж: 17 лет 4 месяца
- Откуда: Израиль, Беэр-Шева
- Благодарил (а): 28 раз
- Поблагодарили: 53 раза
Re: Расширения - это просто!
Ну, это фактически первый способ, что я использовал, с
INCLUDECSS
.После нескольких лет общения здесь и техсопровождения форумов я наконец понял, что ничего не понимаю в phpBB!
-
- Поддержка
- Сообщения: 12752
- Стаж: 13 лет 8 месяцев
- Благодарил (а): 159 раз
- Поблагодарили: 2276 раз
Re: Расширения - это просто!
В движке есть файл
config/parameters.yml
. Как понимаю, подобным образом можно задать константы. Как грамотней использовать подобное в расширениях?-
- phpBB 1.2.1
- Сообщения: 20
- Стаж: 16 лет 5 месяцев
- Поблагодарили: 6 раз
Re: Расширения - это просто!
Не уверен, что это будет просто и грамотно. Все таки там должны находиться настройки уровня приложения phpBB. А для расширения логичней задавать настройки в файлах расширения. Например, в первом сообщении темы файл services.yml:Татьяна5 писал(а):В движке есть файлconfig/parameters.yml
. Как понимаю, подобным образом можно задать константы. Как грамотней использовать подобное в расширениях?
Код: Выделить всё
parameters:
my_ext.moderator.color: blue
my_ext.admin.color: red
services:
tatiana5.quickreply.listener:
class: tatiana5\quickreply\event\listener
arguments:
- @auth
- @config
- @dbal.conn
- @template
- @user
- %core.root_path%
- %core.php_ext%
- %my_ext.moderator.color%
- %my_ext.admin.color%
tags:
- { name: event.listener }
А доступ к переменным из config.yml symfony можно получить из контейнера DI, например, написав в контроллере:
$this->container->getParameter('Имя.параметра')
-
- Поддержка
- Сообщения: 12752
- Стаж: 13 лет 8 месяцев
- Благодарил (а): 159 раз
- Поблагодарили: 2276 раз
Re: Расширения - это просто!
Спрашивала про аналог файла
parameters.yml
в расширении
И что-то не подумала, что можно там задать параметры, без создания нового файла
.yml
(который ещё неизвестно подхватится ли)Спасибо
Отправлено спустя 1 час 25 минут 33 секунды:
Сделала так:
services.yml
Код: Выделить всё
imports:
- { resource: parameters.yml }
Код: Выделить всё
services:
tatiana5.geotopics.listener:
class: tatiana5\geotopics\event\listener
arguments:
- %const.ymsm_i_seamless%
parameters.yml
Код: Выделить всё
parameters:
const.ymsm_i_seamless: 2
-
- phpBB 3.0.0 RC5
- Сообщения: 1668
- Стаж: 10 лет 5 месяцев
- Благодарил (а): 235 раз
- Поблагодарили: 173 раза
Re: Расширения - это просто!
Я давно предлагал переделать всё для промежуточной компиляции в объектное представление и дать полную возможность манипулировать этим, но это потребует практически полного переписывания твига.
-
- phpBB Guru
- Сообщения: 16947
- Стаж: 18 лет 11 месяцев
- Откуда: Красноярск
- Благодарил (а): 549 раз
- Поблагодарили: 1700 раз
-
- Поддержка
- Сообщения: 12752
- Стаж: 13 лет 8 месяцев
- Благодарил (а): 159 раз
- Поблагодарили: 2276 раз
Re: Расширения - это просто!
Попала на ошибку "Circular reference detected for service"
Каким образом её можно обойти?
Нашла вариант с контейнером, но пример кода найти не вышло. И может быть есть что-то получше
(Заготовку расширения могу скинуть в ЛС, если надо)
Код: Выделить всё
Fatal error: Uncaught exception 'Symfony\Component\DependencyInjection\Exception\ServiceCircularReferenceException' with message 'Circular reference detected for service "tatiana5.geotopics.ymsm_defaults", path: "tatiana5.geotopics.ymsm_defaults -> tatiana5.geotopics.ymsm_utils -> tatiana5.geotopics.ymsm_tagging -> tatiana5.geotopics.ymsm_display -> tatiana5.geotopics.ymsm_defaults".' in D:\WebServers\OpenServer\domains\phpbb319.zz\vendor\symfony\dependency-injection\Symfony\Component\DependencyInjection\Compiler\CheckCircularReferencesPass.php:67 Stack trace: #0 D:\WebServers\OpenServer\domains\phpbb319.zz\vendor\symfony\dependency-injection\Symfony\Component\DependencyInjection\Compiler\CheckCircularReferencesPass.php(70): Symfony\Component\DependencyInjection\Compiler\CheckCircularReferencesPass->checkOutEdges(Array) #1 D:\WebServers\OpenServer\domains\phpbb319.zz\vendor\symfony\dependency-injection\Symfony\Component\DependencyInjection\Compiler\CheckCircularReferencesPass.php(70): Symfony\Component\DependencyInjection in D:\WebServers\OpenServer\domains\phpbb319.zz\vendor\symfony\dependency-injection\Symfony\Component\DependencyInjection\Compiler\CheckCircularReferencesPass.php on line 67
Нашла вариант с контейнером, но пример кода найти не вышло. И может быть есть что-то получше
(Заготовку расширения могу скинуть в ЛС, если надо)
-
- phpBB Guru
- Сообщения: 16947
- Стаж: 18 лет 11 месяцев
- Откуда: Красноярск
- Благодарил (а): 549 раз
- Поблагодарили: 1700 раз
Re: Расширения - это просто!
Татьяна5, где-то получается циклическая инъекция зависимости сервиса
Отправлено спустя 1 минуту 34 секунды:
В принципе, в тексте ошибки прописано, как оно получается:
ymsm_defaults
. Надо смотреть код.Отправлено спустя 1 минуту 34 секунды:
В принципе, в тексте ошибки прописано, как оно получается:
path: "tatiana5.geotopics.ymsm_defaults -> tatiana5.geotopics.ymsm_utils -> tatiana5.geotopics.ymsm_tagging -> tatiana5.geotopics.ymsm_display -> tatiana5.geotopics.ymsm_defaults"