Я пытаюсь изменить вывод {{ url('app_route_name') }} or {{ path('app_route_name') }}
. Обычно вывод может быть /app/route/name
. Я хочу изменить только вывод ветки.
Моя первая попытка состояла в том, чтобы украсить UrlGenerator-›generate, но изменение $name также изменило вызываемый контроллер. Я просто хочу изменить конечный результат.
Вот код, который я сейчас пытаюсь. Исключение ошибки, которое я получаю:
Функция неизвестного пути. Вы имели в виду logout_path, относительный_путь, impersonation_exit_path?
App\Service\TwigUrlDecorator:
decorates: 'twig.extension.routing'
arguments: ['@.inner']
public: false
// src/Service/TwigUrlDecorator.php
namespace App\Service;
use Symfony\Component\Routing\Generator\UrlGeneratorInterface;
use Twig\Extension\AbstractExtension;
use Symfony\Bridge\Twig\Extension\RoutingExtension;
class TwigUrlDecorator extends AbstractExtension
{
private $generator;
private $router;
public function __construct(RoutingExtension $router, UrlGeneratorInterface $generator)
{
$this->router = $router;
$this->generator = $generator;
}
public function getPath(string $name, array $parameters = [], bool $relative = false): string
{
return $this->generator->generate($name, $parameters, $relative ? UrlGeneratorInterface::RELATIVE_PATH : UrlGeneratorInterface::ABSOLUTE_PATH);
}
public function getUrl(string $name, array $parameters = [], bool $schemeRelative = false): string
{
return $this->generator->generate($name, $parameters, $schemeRelative ? UrlGeneratorInterface::NETWORK_PATH : UrlGeneratorInterface::ABSOLUTE_URL);
}
}
Мой исходный вопрос может пролить свет на то, что я ищу.
path
, это функция ветки. Это функция, которую я пытаюсь изменить. 09.04.2021path
не является чем-то вроде встроенной функции. 09.04.2021