Заменить шаблон пакета из другого пакета

Я разрабатываю плагин для платформы электронной коммерции Sylius. Я использую Symfony 4 со стандартом Sylius 1.2. В этом плагине (который является просто пакетом Symfony) я хотел бы переопределить шаблон, определенный в SyliusAdminBundle, и я бы не хотел копировать его в папку представлений AppBundle.

Я попытался следовать объяснениям, приведенным здесь: Заменить шаблон пакета из другого пакета в symfony 3.4 / 4

но я не могу понять, как заставить его работать!

У вас есть идеи, как я могу обработать?

github.com/FriendsOfSymfony/FOSUserBundle/issues/2783 - та же проблема, у них также есть исправление для этого.
Dominic Wehrmann 03.10.2018 10:56

@DominicWehrmann, нет, это не тот вопрос. Я хочу переопределить шаблон в стороннем пакете, а не в проекте AppBundle

Gontran 03.10.2018 15:27

Я сомневаюсь, что это возможно. Как насчет того, чтобы разветвить другой проект и внести изменения?

Dominic Wehrmann 03.10.2018 17:35

Я бы хотел избежать разветвления проекта Sylius. В любом случае, если это невозможно, я воспользуюсь другим подходом. Спасибо за вашу заботу

Gontran 03.10.2018 23:57

Хм, я снова подумал об этом. Вы можете попробовать поместить свой «новый» шаблон в папку ресурсов стороннего пакета, как указано в моей первой ссылке, это работает?

Dominic Wehrmann 04.10.2018 05:20

@DominicWehrmann, нет, это не работает, даже если использовать пространство имен веточек

Gontran 04.10.2018 10:03
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Symfony Station Communiqué - 17 февраля 2023 г
Symfony Station Communiqué - 17 февраля 2023 г
Это коммюнике первоначально появилось на Symfony Station , вашем источнике передовых новостей Symfony, PHP и кибербезопасности.
Управление ответами api для исключений на Symfony с помощью KernelEvents
Управление ответами api для исключений на Symfony с помощью KernelEvents
Много раз при создании api нам нужно возвращать клиентам разные ответы в зависимости от возникшего исключения.
2
6
341
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Я думаю, вы сможете либо поместить замещающий шаблон в templates/bundles/SyliusAdminBundle/path/to/template.html.twig. То же самое можно сделать из темы: app/themes/ThemeName/SyliusAdminBundle/path/to/template.html.twig. Часто плагины просто дают инструкции по внесению изменений в ваш проект. Он не самый гибкий, но для проекта очень понятно, какие шаблоны были изменены.

Для получения дополнительной информации: https://docs.sylius.com/en/1.2/customization/template.html.

Раньше в Symfony был механизм «наследования пакетов», чтобы делать то, что вы изначально планировали, но эта функция устарела с версии 3.4: https://symfony.com/blog/new-in-symfony-3-4-deprecated-bundle-inheritance.

«Часто плагины просто дают инструкции по внесению корректировок в ваш проект. Это не самый гибкий вариант, но для проекта очень ясно, какие шаблоны были изменены». На самом деле я часто видел, как плагин дает подобные инструкции, но я хотел избежать этого.

Gontran 04.10.2018 10:01

Другие вопросы по теме