template

Prestashop : Récupérer une configuration directement depuis un template

J’ai récemment rencontré la problématique de devoir utiliser des variables de configuration dans plusieurs templates non liés d’un site prestashop.
Plutôt que de surcharger l’ensemble des controllers impacté , je suis passé par la solution d’ajouter une nouvelle fonctionnalité directement dans Smarty.
Tout ça sans surcharge et via un module qui fonctionne sur PS 1.6 et 1.7

Edit 2021-08-31 :
A compter de la version 1.7 de prestashop, utiliser plutôt le hook actionDispatcher , car sur les pages ajax le hook header n’est pas appelé.
Merci à Guillaume Batier / PrestaSafe pour l’info ! 🙂

Le code est relativement simple :

class HhConfigTemplate extends Module
{
    public function __construct()
    {
        $this->author    = 'hhennes';
        $this->name      = 'hhconfigtemplate';
        $this->tab       = 'front_office_features';
        $this->version   = '0.1.0';
        $this->bootstrap = true;
        parent::__construct();
 
        $this->displayName = $this->l('HH Config Template');
        $this->description = $this->l('HH Config Template');
    }
 
    public function install()
    {
        if (!

Prestashop : Récupérer une configuration directement depuis un template Lire la suite »

Magento : Personnaliser le template utilisé par la fonction getPriceHtml

Dans magento la gestion de l’affichage des prix est gérée via la fonction getPriceHtml.
Celle-ci est en général appelée de la manière suivante

<?php echo $this->getPriceHtml($_product, true) ?>

Elle est utilisée entre autre dans les templates suivants :

  • catalog/product/list.phtml
  • catalog/product/compare/list.phtml
  • checkout/cart/crossell.phtml

Cette fonction peut être appelée par tous les blocks qui héritent de la classe Mage_Catalog_Block_Product_Abstract

Par défaut cette fonction utilise le bloc « catalog/product/price.phtml »

Si vous souhaitez changer le template utilisé voici comment procéder.
Il faut utiliser la fonction suivante AVANT l’appel de la fonction getPriceHtml :

/**
 * Adding customized price template for product type
 *
 * @param string $type
 * @param string $block
 * @param string $template
 */
$this->addPriceBlockType($type, $block = '', $template = '');
 
//Exemple d'utilisation
$this->addPriceBlockType('configurable', '', 'catalog/product/price-custom.phtml'); //Produit configurable
$this->addPriceBlockType('simple', '', 'catalog/product/price-custom.phtml'

Magento : Personnaliser le template utilisé par la fonction getPriceHtml Lire la suite »