Jump to content

Edit History

Vinibch

Vinibch


Bug

Bonjour,

J'ai souhaité personnalisé l'affichage d'une catégorie en détournant le module Category Products. Cependant, suite à une mise à jour ma boucle ne marche plus (retour en arrière impossible). 

Fichier source modifié : modules\ps_categoryproducts\ps_categoryproducts.php

//Ligne 311 :
		$products = $result->getProducts();

		/* 05/12/2020 Code rajouté */
        // Chargement produit -> cathégorie
        $ProductDisplay = new Product(Tools::getValue('id_product'));
        // 
        // Méthode basé sur l'id catégorie 4 :
        // Pour lui (id=3) - Teeshirt (id=4) - Sweat (id=5)
        // Pour elle (id=6) - Teeshirt (id=7) - Sweat (id=8)
        //
        if($ProductDisplay->id_category_default==4){  
        // dump($ProductDisplay); (voir la variable)
            $products = array();
            //
            // id des produits à booster
            // T-shirt (id=1+2+3) de la categorie 4
            //
            $selection_products = array(1,3,1,3); 
            foreach($selection_products as $id_product_sel){
                $Product = new Product($id_product_sel);
                $products[] = array('id_product'=>$Product->id);
            }
        }else{
            // Si aucun paramétre personnalisé = aucun affichage
            return false;
        }
        // ---

En paralléle, je n'ai pas pu modifier le titre car il rentre en conflit. Si vous avez une idée..

Fichier enfant modifié : modules\ps_categoryproducts\views\templates\hook\ps_categoryproducts.tpl

<section class="featured-products clearfix mt-3">
  <h2>
    {* Je met tout en commentaire ici : toute modification rentre en conflit..
    {if $products|@count == 1}
    	{l s='%s other product in the same category:' sprintf=[$products|@count] d='Shop.Theme.Catalog'}
    {else}
        {l s='%s other products in the same category:' sprintf=[$products|@count] d='Shop.Theme.Catalog'}
    {/if}
    *}
    
    {* Je rajoute manuellement l'ensemble *}
    {l s='Les produits cultes de notre gamme'} :

    
  </h2>
  <div class="products">
      {foreach from=$products item="product"}
          {include file="catalog/_partials/miniatures/product.tpl" product=$product}
      {/foreach}
  </div>
</section>

 

Vinibch

Vinibch

Bonjour,

J'ai souhaité personnalisé l'affichage d'une catégorie en détournant le module Category Products. Cependant, suite à une mise à jour ma boucle ne marche plus (retour en arrière impossible). 

Fichier source modifié : modules\ps_categoryproducts\ps_categoryproducts.php

//Ligne 311 :
		$products = $result->getProducts();

		/* 05/12/2020 Code rajouté */
        // Chargement produit -> cathégorie
        $ProductDisplay = new Product(Tools::getValue('id_product'));
        // 
        // Méthode basé sur l'id catégorie 4 :
        // Pour lui (id=3) - Teeshirt (id=4) - Sweat (id=5)
        // Pour elle (id=6) - Teeshirt (id=7) - Sweat (id=8)
        //
        if($ProductDisplay->id_category_default==4){  
        // dump($ProductDisplay); (voir la variable)
            $products = array();
            //
            // id des produits à booster
            // T-shirt (id=1+2+3) de la categorie 4
            //
            $selection_products = array(1,3,1,3); 
            foreach($selection_products as $id_product_sel){
                $Product = new Product($id_product_sel);
                $products[] = array('id_product'=>$Product->id);
            }
        }else{
            // Si aucun paramétre personnalisé = aucun affichage
            return false;
        }
        // ---

En paralléle, je n'ai pas pu modifier le titre car il rentre en conflit. Si vous avez une idée..

Fichier enfant modifié : modules\ps_categoryproducts\views\templates\hook\ps_categoryproducts.tpl

<section class="featured-products clearfix mt-3">
  <h2>
    {* Je met tout en commentaire ici : toute modification rentre en conflit..
    {if $products|@count == 1}
    	{l s='%s other product in the same category:' sprintf=[$products|@count] d='Shop.Theme.Catalog'}
    {else}
        {l s='%s other products in the same category:' sprintf=[$products|@count] d='Shop.Theme.Catalog'}
    {/if}
    *}
    
    {* Je rajoute manuellement l'ensemble *}
    {l s='Les produits cultes de notre gamme'} :

    
  </h2>
  <div class="products">
      {foreach from=$products item="product"}
          {include file="catalog/_partials/miniatures/product.tpl" product=$product}
      {/foreach}
  </div>
</section>

 

×
×
  • Create New...