Jump to content

[RÉSOLU] if $product_id sur product-list.tpl ?


Recommended Posts

Salut,

 

Pour le moment pour personnaliser le contenu des templates je jongle entre.

 

{if $page_name == 'XXX'} {/if}

sur mon header.tpl

et

{if $category->id == XXX} {/if}

sur mon product-list.tpl

 

J'aimerais savoir s'il possible de faire de même pour les produits dans product-list.tpl style

{if $product_id == 'XXX'}{/if} ? Et bien sûr si oui, comment ?

 

merci pour votre aide

Edited by jrmvii (see edit history)
Link to comment
Share on other sites

J'ai à mon tour besoin d'aide sur ce sujet :

 

J'ai remarqué que cette méthode fonctionne par exemple dans le footer.tpl mais pas dans le header.tpl...

 

J'imagine qu'il faut "overrider", mais je ne vois pas comment...

 

Mon fichier FrontController.php ressemble à ca :

<?php
class FrontController extends FrontControllerCore
{
public function displayHeader()
{
 $pathinfo = pathinfo(__FILE__);
 $page_name = basename($_SERVER['PHP_SELF'], '.'.$pathinfo['extension']);
 $page_name = (preg_match('/^[0-9]/', $page_name)) ? 'page_'.$page_name : $page_name;
 if ($page_name == 'category' AND isset($_GET['id_category']))
 {  
  $category = new Category($_GET['id_category'], intval(self::$cookie->id_lang));
  if (Validate::isLoadedObject($category))
self::$smarty->assign('category_name', $category->name);
self::$smarty->assign('category', $category->id_category);
 }
 elseif ($page_name == 'product' AND isset($_GET['id_product']))
 {
  $product = new Product($_GET['id_product'], false, intval(self::$cookie->id_lang));

  if (Validate::isLoadedObject($product))
self::$smarty->assign('product_name', $product->name);
 }
 elseif ($page_name == 'manufacturer' AND isset($_GET['id_manufacturer']))
 {
  $manufacturer = new Manufacturer($_GET['id_manufacturer'], false, intval(self::$cookie->id_lang));

  if (Validate::isLoadedObject($manufacturer))
self::$smarty->assign('manufacturer_name', $manufacturer->name);
 }
 parent::displayHeader();
}
}
?>

 

J'arrive a personnaliser le header avec du code du genre :

{if isset($category_name)} TEST {/if}

mais pas avec

{if $category.id_category == XX} TEST {/if}

ni avec

{if $category->id_category == XX} TEST {/if}

Comment faire ?

 

Merci !

Edited by Junfan (see edit history)
Link to comment
Share on other sites

Bonsoir,

 

A moins que je passe à côté de quelque chose vu l'heure tardive, vous passez à la vue les variables "category_name" et "category". Donc il est normal que ce que vous essayez ne fonctionne pas. Sans toucher à votre contrôleur actuel, si vous cherchez l'id_category, il est ici...

 

{$category}

 

puisque c'est ce que vous faîtes ici...

 

self::$smarty->assign('category', $category->id_category);

 

Cordialement

Edited by Ixycom (see edit history)
Link to comment
Share on other sites

Merci beaucoup pour la réponse lixycom ;)

 

J'ai trouvé une autre solution qui apparemment évite de toucher au controleur :

Dans le header.tpl je fais :

{if $smarty.get.id_category == XX} TEST {/if}

et ca marche ! :D

  • Like 1
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...