2017-06-09 8 views
0

Je travaille actuellement sur un module Prestashop 1.7.1.0 destiné aux sites vestimentaires. J'ai besoin d'obtenir le nom exact de la page que l'utilisateur est en train de parcourir tel que 'index', 'Femmes', 'Tops', 'T-shirts', dans le module. J'ai essayé d'utiliser des variables globales Smarty pour cela mais celles-ci semblent avoir été supprimées pour cette version.Obtenir le nom actuel de la page vers Prestashop 1.7 Module

Toutes les suggestions & aide serait vraiment appréciée.

Répondre

0
{$smarty.server.HTTP_HOST}{$smarty.server.REQUEST_URI} 

Vous pouvez essayer ce code je pense que son travail ...

+0

Afraid Je n'ont pas eu de chance avec Smarty code. J'ai réussi à implémenter une solution pour cela en utilisant le tableau $ _SERVER php lui-même. Je vais poster comme une réponse ici pour référence par d'autres. –

2

FrontController options de la page de chargement et de l'affecter.

Vous pouvez l'obtenir en tpl avec {page $}

 Array 
(
    [title] => 
    [canonical] => 
    [meta] => Array 
     (
      [title] => 'title' 
      [description] => 
      [keywords] => 
      [robots] => index 
     ) 
[page_name] => 'page name is here' 
[body_classes] => Array 
    (
     [lang-es] => 1 
     [lang-rtl] => 
     [country-ES] => 1 
     [currency-EUR] => 1 
     [layout-full-width] => 1 
     [page-] => 1 
     [tax-display-enabled] => 1 
     [pm_details_layout1] => 1 
     [header_static] => 1 
    ) 

[admin_notifications] => Array 


     (
     ) 

) 
0

Je ne pouvais pas des fonctions Smarty pour travailler sur mon module mais je réussi à coder une solution simple en utilisant des fonctions de tableau de _SERVER de $ PHP. Je vais poster le code ci-dessous pour la référence des autres.

$protocol = null; 
if (isset($_SERVER["HTTPS"]) && $_SERVER["HTTPS"] == "on") 
{ 
    $protocol = 'https'; 
} 
else 
{ 
    $protocol = 'http'; 
} 
$port = ""; 
if ($_SERVER["SERVER_PORT"] != "80") 
{ 
    $port = ":".$_SERVER["SERVER_PORT"]; 
} 
$currentPageUrl = $protocol."://".$_SERVER['SERVER_NAME'].$port.$_SERVER['REQUEST_URI']; 
echo '<b>Current Page URL : </b>' . $currentPageUrl . "<br>"; 
0

Pour obtenir cela dans un tpl, la nouvelle variable dans la version 1.7 pour ce faire est:

{$page.page_name} 

Au lieu de:

{$page_name} 

Vous pouvez l'utiliser dans toute tpl de votre module.

Espérons-il vous aider est

2

Pour cela dans un tpl, la nouvelle variable dans la version 1.7 pour ce faire est la suivante:

{$page.page_name} 

Instead of: 

{$page_name} 

Vous pouvez l'utiliser dans toute tpl de votre module.

Il fonctionne pour moi dans un module Prestashop 1.7 J'ai créé, mais je ne peux pas obtenir d'autres variables globales Smarty, à savoir shop_name, lang_iso, etc ...

+0

Salut, ici vous avez toutes les nouvelles variables globales: http://victor-rodenas.com/variables-globales-en-prestashop-1-7/ – Addis

+0

Thnaks Addis !!! – Pat