2015-03-12 2 views
0

Dans Smarty 3 et dans mon scénario spécial, ceComment tronquer l'URI de la demande dans Smarty pour obtenir seulement le premier segment?

{$smarty.server.REQUEST_URI}

retourne un URI avec 4 morceaux, comme "/ catégorie/fournisseur/articlenum/ArticleName".

Comment puis-je modifier cette chaîne en utilisant Smarty pour obtenir juste "/ category" ou "/ category /"?

+1

Essayez d'utiliser la fonction parse_url() de php. Pour de l'aide concernant cette fonction, consultez l'url: http://php.net/manual/fr/function.parse-url.php –

+1

Merci beaucoup. Je viens de trouver une autre solution que je posterai bientôt. – dajood

+0

S'il vous plaît mettre pour que d'autres aussi obtenir de l'aide à travers cela. –

Répondre

1

J'ai trouvé une solution possible en supprimant d'abord le slash avec substr. Ensuite, j'utilise regex_replace pour supprimer la queue, en commençant par la première barre oblique restante.

{assign var=truncUri value=$smarty.server.REQUEST_URI|substr:1|regex_replace:"/\/(.*)/"}

Il en résulte la chaîne "catégorie". Après cette étape, j'utilise le résultat dans le modèle: /{$truncUri}/