Jump to content

contenu de Page CMS affiché sur la premiere page d'une liste produit


Recommended Posts

Bonjour a toutes et a tous .; donc voici  le probleme ( Prestashop 1.6 )

J'ai bricolé cela pour ajouter le contenu d'une page CMS sur le début de la liste des produits , ( une ou plusieurs pages CMS peuvent etre associées a une catégorie )
 

mais L'affichage de ma page CMS se fait sur TOUTES les pages de liste de produit ( numero de pages .. 1 , 2 3 , 4  .. etc ) et je souhaiterait le faire sur la premiere page seulement ( 1 )

 

voici ou j'en suis :

dans mon theme c'est fait un petit fichier qui ressemble a ca :
category-cms-plugin.tpl

{assign var=cms_ok value=[0]}

   {if $category->id_categoy == 10 }

   {assign var=cms_ok value=[25,26]}

   {/if}

<!-- .... on continu pour chaque categorie en fonction de la ou des pages cms que le souhaite afficher .... -->

<!-- ( il faut au prealable que vos pages cms acceptent les Iframe ... )) -->
{if $cms_ok[0] != 0}
    {foreach from=$cms_ok item=item key=key}
                <iframe
                LEFT="0"
                LANG="fr"
                ID="informations-liste-produits"
                HSPACE="0"
                height="100%"
                width="100%"
                scrolling="no"
                FRAMEBORDER="0"
                CLASS="PAGE-CMS-LISTE"
                ALIGN="center"
                src="../index.php?id_cms={$item}&controller=cms?content_only=1">
                </iframe>
    {/foreach}            
{/if}

 

ensuite j'ai ajouté aux alentour de la ligne 48 de category.tpl ( avant   <!-- Category image --> )

{include file="$tpl_dir./category-cms-plugin.tpl"}

 

Tout fonctionne parfaitement .. mais je n'arrive pas a trouver un moyen relativement simple de n'afficher ces pages CMS sur la premiere et uniquement sur la premiere page de la liste des produits

 

j'ai essayé d'explorer l'ajax du changementde page , mais evidement je bloque sur la transmission du numero de la page en cours ($p) a mon template .. surtout que celui ci ne se re affiche pas (sic!)

j'ai bien sur passé au crible les variables avec {debug} .. mais pareil, puisqu on peut passer de la page suivante a la page précédent sans reaffiher la page et que je n'ai pas reussi a transmettre le numero de la page 'en cours' a mon template .. bien que un autre template le 'connait' si on veut . car la page en cours selectionné est affichée 'différement' ..

 

une fois ce 'petit' probleme réglé je pense que cela pourra etre utile a certains de pouvoir afficher , en fonction des categories des 'choses' ..sur la liste des produits

bref HELP !

Merci a tous
 

 


 

Link to comment
Share on other sites

  • 8 months later...

Bonjour,

Désolé je ne peux pas beaucoup vous aider ... Il faut peut être voir du coté du compteur de page et mettre une boucle if(page 1) alors afficher les cms ... ?

 

Je vous écris surtout pour vous remercier de ce petit tpl qui m'a permis d'afficher une page cms dans une page produit. 

J'ai aussi créé le tpl comme vous expliquez, em mettant une seule cms et inséré le include au dessous de la description dans mon product.tpl. 

{assign var=cms_ok value=[7]}
<!-- je n'afficherai que la cms ayant valeur 7-->
<!-- .... on continu pour chaque categorie en fonction de la ou des pages cms que le souhaite afficher .... -->
<!-- ( il faut au prealable que vos pages cms acceptent les Iframe ... )) -->
{if $cms_ok[0] != 0}
    {foreach from=$cms_ok item=item key=key}
                <iframe
                LEFT="0"
                LANG="fr"
                ID="informations-liste-produits"
                HSPACE="0"
                height="100%"
                width="100%"
                scrolling="no"
                FRAMEBORDER="0"
                CLASS="PAGE-CMS-LISTE"
                ALIGN="center"
                src="../index.php?id_cms={$item}&controller=cms?content_only=1">
                </iframe>
    {/foreach}            
{/if}

En image : 

 

commentaireproduit.png

 

J'ai profité de cette astuce pour ajouter un cadre au dessus du message sur la page-formulaire contactez-nous. Il y avait peut être plus simple, mais je peux maintenant éditer cela facilement en allant seulement dans les CMS ...

 

 

rajoutformulaire.png

 

 

 

Merci beaucoup.

 

Allan

Link to comment
Share on other sites

Bonjour,

 

Tu peux faire 

{if $smarty.get.p == 1}
    {include file="$tpl_dir./category-cms-plugin.tpl"}
{/if}

dans ton category.tpl 

​plus généralement, tu peux récupérer tous les variables http en faissant $smarty.le-type-de-variable.la_variable

 

Bon dev :) 

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...