Skip to content
This repository has been archived by the owner on Jan 29, 2024. It is now read-only.

missing something #4

Open
Draeli opened this issue Sep 19, 2014 · 1 comment
Open

missing something #4

Draeli opened this issue Sep 19, 2014 · 1 comment

Comments

@Draeli
Copy link

Draeli commented Sep 19, 2014

Dans un thème que j'ai créé pour l'occasion, j'utilise :

$sfServiceRouter = \symfony_service('router');
echo $sfServiceRouter->generate('draeli_front_default_mentionslegales');

Je m'attendrais assez logiquement à avoir un chemin sous la forme :
http://localhost/repertoire_work/web/front/mentions-legales
mais au lieu de ça j'ai :
http://localhost/mentions-legales
comme si la route "oubliait" une partie des informations en cours de route alors que je n'ai pas ce soucis bien sûr sous Sf (version 2.5.3).

J'ai commencé à regarder le core.php et j'arrive presque à avoir ce que je veux en remplaçant :

$kernel->boot();

$sfContainer = $kernel->getContainer();
$sfContainer->enterScope('request');
$request = new \Symfony\Component\HttpFoundation\Request();
$sfContainer->set('request', $request, 'request');

par

$request = \Symfony\Component\HttpFoundation\Request::createFromGlobals();
$kernel->handle($request);
$sfContainer = $kernel->getContainer();
symfony_get_container($sfContainer);

dans ce cas je me retrouve bien avec l'url de base utilisé pour le blog, reste le soucis de savoir comment modifier une partie de cette URL à la demande. Typiquement dans mon cas, j'ai une URL qui termine par blog/ et je souhaite que toutes les adresses appelées par la route soient construite sur une base ne comprennant pas cette partie "blog/" dans l'url (ceci revientdrait à indiquer une URL de base dans le config.php pour l'URL public de référence pour Sf mais la méthode ::create de request ne semble pas prendre en compte ce que je demande :( ).

@eko
Copy link
Collaborator

eko commented Sep 21, 2014

Hi @Draeli,

Thank you for these informations.

I think you can try to define a custom path info using the Symfony RequestContext::setPathInfo() method: http://api.symfony.com/2.5/Symfony/Component/Routing/RequestContext.html

Something like this:

$context = new RequestContext();
$context->setPathInfo('/blog'); // You should obtain this value from Wordpress

$request->setContext($context);

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants