Страница 40 из 55
Re: Расширения - это просто!
Добавлено: 10.01.2017 20:45
Роман 58
Ребята!
Не могу установить расширение,что только не делал а ничего не получается.. Что не так? Скачал с офф сайта. Распоковал. Установил в папку, а ничего нет.. Подскажите
Re: Расширения - это просто!
Добавлено: 10.01.2017 20:51
Татьяна5
Re: Расширения - это просто!
Добавлено: 10.01.2017 21:00
rxu
Здесь форум для авторов расширений, причем здесь установка...
Re: Расширения - это просто!
Добавлено: 10.01.2017 21:33
Webliberty
Добрый вечер! Подскажите, пожалуйста, существует ли возможность заменить строку в файле forumlist_body.html?
Ищу способ заменить строку:
Код: Выделить всё
<dl class="row-item {forumrow.FORUM_IMG_STYLE}">
на:
Дело в том, что это единственная правка в этом файле в своем стиле с наследованием от prosilver, поэтому хочется сделать небольшое простенькое расширение для этого
Re: Расширения - это просто!
Добавлено: 10.01.2017 21:38
Татьяна5
Webliberty, перекрыть ненужные стили в css - не вариант?
Можно ещё через javascript, но это более громоздко, да и срабатывать будет не сразу
Re: Расширения - это просто!
Добавлено: 10.01.2017 21:58
Webliberty
Вариант, но думал есть более элегантное решение)
Re: Расширения - это просто!
Добавлено: 10.01.2017 22:06
rxu
Есть мысль добавить пару событий для манипуляции скомпилированным потоком перед выводом его в браузер, и я ее думаю.
Re: Расширения - это просто!
Добавлено: 11.01.2017 9:45
Борис Бердичевский
rxu писал(а): Борис Бердичевский, здесь пояснял другой способ использования изображений из расширений
Ну, это фактически первый способ, что я использовал, с
INCLUDECSS
.
Re: Расширения - это просто!
Добавлено: 11.01.2017 13:15
Татьяна5
В движке есть файл config/parameters.yml
. Как понимаю, подобным образом можно задать константы. Как грамотней использовать подобное в расширениях?
Re: Расширения - это просто!
Добавлено: 11.01.2017 14:49
Konstancius
Татьяна5 писал(а):В движке есть файл config/parameters.yml
. Как понимаю, подобным образом можно задать константы. Как грамотней использовать подобное в расширениях?
Не уверен, что это будет просто и грамотно. Все таки там должны находиться настройки уровня приложения phpBB. А для расширения логичней задавать настройки в файлах расширения. Например, в первом сообщении темы файл services.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 }
Ну и соответственно изменить конструктор расширения, добавив в него переменные для хранения, например $modColor и $adminColor. Теоретически это должно сработать, я не пробовал.
А доступ к переменным из config.yml symfony можно получить из контейнера DI, например, написав в контроллере:
$this->container->getParameter('Имя.параметра')
Re: Расширения - это просто!
Добавлено: 11.01.2017 15:03
Татьяна5
Konstancius писал(а): задавать настройки в файлах расширения
Спрашивала про аналог файла
parameters.yml
в расширении
Konstancius писал(а): файл services.yml
И что-то не подумала, что можно там задать параметры, без создания нового файла
.yml
(который ещё неизвестно подхватится ли)
Спасибо
Отправлено спустя 1 час 25 минут 33 секунды:
Сделала так:
services.yml
Код: Выделить всё
services:
tatiana5.geotopics.listener:
class: tatiana5\geotopics\event\listener
arguments:
- %const.ymsm_i_seamless%
parameters.yml
Re: Расширения - это просто!
Добавлено: 11.01.2017 18:34
Sumanai
rxu писал(а): Есть мысль добавить пару событий для манипуляции скомпилированным потоком перед выводом его в браузер, и я ее думаю.
Я давно предлагал переделать всё для промежуточной компиляции в объектное представление и дать полную возможность манипулировать этим, но это потребует практически полного переписывания твига.
Re: Расширения - это просто!
Добавлено: 11.01.2017 19:12
rxu
Sumanai писал(а): это потребует практически полного переписывания твига
Лучше синица в руках
https://github.com/phpbb/phpbb/pull/4633/files
Re: Расширения - это просто!
Добавлено: 21.01.2017 15:17
Татьяна5
Попала на ошибку "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
Каким образом её можно обойти?
Нашла вариант с контейнером, но пример кода найти не вышло. И может быть есть что-то получше
(Заготовку расширения могу скинуть в ЛС, если надо)
Re: Расширения - это просто!
Добавлено: 21.01.2017 15:36
rxu
Татьяна5, где-то получается циклическая инъекция зависимости сервиса 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"