Document Routes
Generating Routes in current request
To create document paths/urls in current request via Twig or PHP API
you may want to use the _i18n parameter builder:
Twig
{# relative #}
{{ dump( i18n_entity_route(opendxp_document(46), {}, false) ) }}
{# absolute #}
{{ dump( i18n_entity_route(opendxp_document(46), {}, true) ) }}
PHP
use OpenDxp\Bundle\I18nBundle\Builder\RouteParameterBuilder;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\Routing\Generator\UrlGeneratorInterface;
public function myAction(Request $request)
{
$document = \OpenDxp\Model\Document::getById(20);
$parameters = RouteParameterBuilder::buildForEntity($document);
return $this->urlGenerator->generate('', $parameters, UrlGeneratorInterface::ABSOLUTE_URL);
}
Generating Routes in CLI
To create document paths/urls in headless context:
PHP
use OpenDxp\Bundle\I18nBundle\Builder\RouteParameterBuilder;
use Symfony\Component\Console\Input\InputInterface;
use Symfony\Component\Console\Output\OutputInterface;
use Symfony\Component\Routing\Generator\UrlGeneratorInterface;
protected function execute(InputInterface $input, OutputInterface $output): int
{
$document = \OpenDxp\Model\Document::getById(20);
$parameters = RouteParameterBuilder::buildForEntity($document);
return $this->urlGenerator->generate('', $parameters, UrlGeneratorInterface::ABSOLUTE_URL);
}