Jump to content

Ajouter des conditions d’affichage product.tpl


Recommended Posts

Bonjour à tous et toutes,
en ajoutant le code suivant dans product.tpl, les images s'affichent bien par apport à l'ID des produits.
 

{if $product->id == 8 || $product->id == 9}
<img src="http://www.monsite.com/img/mon-image.jpg" alt="" />
{/if}


Si on a 3 produits c'est gérable par contre si on en a 2000 ça devient ingérable car il faudrait faire.
 

{if $product->id == 8 || $product->id == 9 || $product->id == 10 || $product->id == 11} etc...

Ma question :
Y a-t-il une solution afin que cela se fasse automatiquement sans rentrer manuellement $product->id == 10 ||$product->id == 11 dans le fichier product.tpl

 

Dans l'attente de vous lire.

 

Cordialement

Patrick

Prestashop 1.6.1.8
Theme/default-bootstrap

Link to comment
Share on other sites

Si je comprend bien votre soucis vient du fait que vous reconstruisez le lien de votre image vous même pour chaque produit au lieu de le récupérer depuis le champ dédié ?

 

Peut-être en essayant ceci à la place de l'ensemble de votre condition :

<img src="{$link->getImageLink($product->link_rewrite, $cover.id_image, 'large_default')|escape:'html':'UTF-8'}" title="{if !empty($cover.legend)}{$cover.legend|escape:'html':'UTF-8'}{else}{$product->name|escape:'html':'UTF-8'}{/if}" alt="{if !empty($cover.legend)}{$cover.legend|escape:'html':'UTF-8'}{else}{$product->name|escape:'html':'UTF-8'}{/if}"/>

Si c'est bien cela n'hésitez pas à vous référer au thème par défaut de Prestashop pour vous inspirer de la façon dont sont construits les .tpl

Link to comment
Share on other sites

Bonjour Proma,
tout d'abord merci pour votre réponse.
Non je ne reconstruit pas le lien de l'image moi-même pour chaque produit au lieu de le récupérer depuis le champ dédié.

Pour faire simple dans la fiche du produit je voulais ajouter une image Ex : En dessous du bloc paiement mais seulement pour une catégorie précise.

Donc j'ai fait :

{if $product->id_category_default == 12}
<img src="http://www.monsite.com/img/mon-image.jpg" alt="" /> 
{/if}

Puis dans le backoffice --> Catalogue/produits --> le produit /Associations j'ai coché la catégorie ici la 12 et en bas de page dans Catégorie par défaut --> j'ai sélectionné ma catégorie.

La l'image s'affiche bien sur le produit sur lequel j'ai fait la modif cité ci-dessus, et non sur les autres produits.

Ensuite, pour avoir seulement les produits qui s'affiche sur les pages des produits et non sur la page catégorie, j'ai ajouté dans le fichier category.tpl

le code suivant :

{if !isset($subcategories)} avant {if $products} ligne 100
et un {/if} après la ligne 119

Le code complet :

{if !isset($subcategories)}<!-- Ajout de la ligne-->
		{if $products}
			<div class="content_sortPagiBar clearfix">
            	<div class="sortPagiBar clearfix">
            		{include file="./product-sort.tpl"}
                	{include file="./nbr-product-page.tpl"}
				</div>
                <div class="top-pagination-content clearfix">
                	{include file="./product-compare.tpl"}
					{include file="$tpl_dir./pagination.tpl"}
                </div>
			</div>
			{include file="./product-list.tpl" products=$products}
			<div class="content_sortPagiBar">
				<div class="bottom-pagination-content clearfix">
					{include file="./product-compare.tpl" paginationId='bottom'}
                    {include file="./pagination.tpl" paginationId='bottom'}
				</div>
			</div>
		{/if}
  {/if}<!-- /Ajout de la ligne-->

Voila si ça peut servir à quelqu'un.

 

Bon week-end à tous et toutes.

 

Patrick...

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

  • 2 years later...

Bonjour à tous, j'ai un souci d'affichage de mentions conditionnelles :)

En gros sur mon product.tpl de mon thème j'ai la mention suivante :

{if $product->id_category_default == 13 && $etatproduit == 'occasion'}
                    <p class="mentionsfixation">{l s='Snowboard d\'occasion vendu avec ses fixations'}</p>
                    {/if}

Je voudrais ajouter celle-ci :

{if $product->id_category_default == 13 && $etatproduit == 'neuf'} /* c'est le bon nom de la condition Neuf si je regarde le product.tpl du thème par défaut */
                    <p class="mentionsfixation">{l s='Snowboard neuf vendu avec ses fixations'}</p>
                    {/if}

A priori cela devrait fonctionner sauf que non et du coup je ne comprend pas :)

Quelqu'un a une idée ?

Merci d'avance,

Clément

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