Jump to content

[Résolu]Créer une section "Produits à venir"


Recommended Posts

Bonjour à tous.
J'aimerai pouvoir afficher sur mon site les produits que je vais recevoir dans les semaines à venir, un peu comme s'affichent les nouveaux produits.

Cependant si je créé une catégorie à part entière, ils vont justement se mettre automatiquement dans la catégorie "nouveaux produits " ( avec un stock à 0, cela peut être trompeur pour les clients de voir " produit épuisé" alors qu'il n'est pas encore arrivé!)

Quelqu'un aurait-il été déjà confronté au problème et trouvé une solution ?

un grand merci d'avance à vous.
Alexis

Link to comment
Share on other sites

Bon alors ce que tu peux faire c'est modifier la traduction du hors-stock, mais c'est à faire uniquement si le fameux "hors-stock" ne te servira pas sur d'autre produits.

Après si cette solution ne convient pas à tes attentes, je pense qu'il va falloir chercher du côté d'un développement plus spécifique.
Par exemple tu peux ajouter une condition {if $product_price == 0} blablabla {/if} sinon affichage normal.

Link to comment
Share on other sites

le coup de la condition me paraît pas mal !
ce que tu indique là voudrait dire que par exemple, si pour mes produits à venir, je fixe leur prix à 0€, le bouton commander ne s'affichera pas ?

je m'excuse d'avance je n'y connais presque rien en développement



Par contre pour ce qui de ne pas les afficher dans " nouveaux produits " ( ce qui se fait automatiquement lorsque l'on ajoute un nouveau produit au catalogue) pas de solution ?
ça n'est pas possible de mettre une condition restrictive sur une catégorie du catalogue par exemple ?

merci à toi !

Link to comment
Share on other sites

Avec la condition tu peux choisir de faire ce que tu veux à savoir par exemple:

Si prix = 0 alors non-affichage du bouton commander et pas de déclaration en tant que nouveau produit.
Après faut juste dire ça à Prestashop dans son langage :P

Link to comment
Share on other sites

Hello,

Désolée je n'avais pas reçu d'alerte nouveau message pour ce post.

Alors là comme ça c'est compliqué sans savoir ce que tu veux faire exactement.

Pour te dire quoi faire il faudrait que tu me dise quel rendu final tu souhaites obtenir précisément autant pour ta fiche produit que pour ta liste de produits.

Link to comment
Share on other sites

Pas de soucis ;) merci de répondre si promptement

Donc en fait pour faire clair j'aimerai que toutes les pages produits de ma catégorie "A venir" soient identiques aux pages produits des autres catégories à l'exception de :

- pas de bouton "ajouter au panier"
- pas d'affiche du stock ou de message "hors stock"
+
que les produits ne s'affichent pas dans la section "nouveaux produits" comme cela se fait automatiquement à chaque fois que l'on ajoute un produit.

Tu m'indiquais la solution de les appliquer ( pas de bouton + pas de message hors stock ) avec une condition {if $product_price == 0} blablabla {/if}.
Est il possible de l'affecter uniquement à la catégorie en question ? et non à toute les pages?

Merci encore pour ton aide

dis moi si c'est assez clair :)

Link to comment
Share on other sites

Alors pour cela tu n'a pas besoin de préciser une condition de catégorie spécifique puisque le simple fait que le produit soit à 0 suffira à faire ce que tu veux.

Donc tu ouvres le fichier product-list.tpl puis tu repères ces lignes:

                    {if ($product.allow_oosp OR $product.quantity > 0)}{l s='Available'}{else}{l s='Out of stock'}{/if}

               {if ($product.allow_oosp OR $product.quantity > 0) && $product.customizable != 2}

{l s='Add to cart'}
               {else}
{l s='Add to cart'}
               {/if}



Il te suffit d'ajouter ta condition au début de ces lignes puis de la refermer à la fin ce qui donne:

{if $product.price != 0}
{if ($product.allow_oosp OR $product.quantity > 0)}{l s='Available'}{else}{l s='Out of stock'}{/if}

               {if ($product.allow_oosp OR $product.quantity > 0) && $product.customizable != 2}

{l s='Add to cart'}
               {else}
{l s='Add to cart'}
               {/if}
{/if}



Après pour que le produit n'aille pas se mettre dans l'espace nouveaux produits c'est plus subtil, il faut que je regarde comment faire exactement.

Link to comment
Share on other sites

ça marche très bien merci :)

du coup je n'y avais pas pensé mais j'aimerai également cacher le prix du produit ( qui là est donc à 0 pour appliquer la condition)

je suppose que cela marche sur le même principe, j'ai tenté quelque chose mais ça ne marche pas.
Je vais donc éviter de bidouiller à l'aveugle :)

j'attends de tes news pour cela et le fait de ne pas ajouter au nouveaux produits

merci beaucoup de nouveau

Link to comment
Share on other sites

Dans ce cas il te suffit de faire commencer ta condition plus haut dans le code du fichier product-list.tpl.

Donc tu déplaces ceci:

{if $product.price != 0}



Juste avant ces lignes:

                
{if !$priceDisplay}{convertPrice price=$product.price}{else}{convertPrice price=$product.price_tax_exc}{/if}

{if ($product.allow_oosp OR $product.quantity > 0)}{l s='Available'}{else}{l s='Out of stock'}{/if}



Concernant l'envoi vers les nouveaux produits à priori je n'ai d'autre solution à te donner que d'aller directement dans la base de données afin de changer les dates de création pour ces produits. Cela leur permettra de ne pas être considérés comme nouveaux produits puisque c'est justement par rapport à la date de création d'un produit que ce dernier est considéré comme nouveau ou non.

Pour l'instant je n'ai pas trouvé de meilleure solution sorry...

Link to comment
Share on other sites

ok pour les nouveaux produits merci ;)

par contre pour la modif du prix j'ai un problème:
- d'une part, le prix est toujours visible sur la fiche produits ( bien qu'il ne le soit plus dans la liste des produit de la catégorie)

- d'autre part pour les autres catégories j'ai ceci qui s'affiche ��������������������12,50 € ��������������������Disponible �������������� à la place des prix dans la liste des produits de la catégorie

j'ai mis une image pour que tu vois :

image



merci :)

Link to comment
Share on other sites

Ok ça marche, je n'ai plus l'erreur , j'avais en effet du faire une fausse manip.
La manip dans la BDD pour empêcher l'affichage en nouveaux produits marche aussi, mais si quelqu'un trouve une autre solution plus " pratique " je ne suis pas contre :)

Peux-tu juste m'indiquer comment réaliser la modif dans le fichier product.tpl et après j'arrête de t'embêter. :red:

de nouveau merci !

Link to comment
Share on other sites

Alors pour le fichier product.tpl la syntaxe de la condotion varie un peu mais le principe reste le même.

Donc tu places cette condition:

{if $product->getPrice(true, $smarty.const.NULL, 0) != 0} 



Juste avant ces lignes:

        <form id="buy_block" action="{$base_dir}cart.php" method="post">



Et tu la refermes par un {/if} juste avant ceci:

        {if $HOOK_EXTRA_RIGHT}{$HOOK_EXTRA_RIGHT}{/if}



Cela va permettre de cacher le buy-block (c'est-à-dire les informations d'achat comme le prix, les déclinaisons, le bouton ajouter au panier, etc...) si le prix est égal à 0.

Link to comment
Share on other sites

  • 2 months later...

UP
je remonte ce sujet car j'aimerai apporter une modif supplémentaire sur le même modèle que celle présentée ici (post #19) :

http://www.prestashop.com/forums/viewthread/58250/P15/developpement/resolu_creation_dun_module_pour_mes_articles_doccasion

Ce que j'aimerai faire est :

1: mettre le logo “ à venir” comme cela se passe avec le logo “occasion”.
2:ajouter le texte sur la page produit “ possibilité de réserver le produit XXX par mail à [email protected]

J’ai donc tenter de faire exactement les mêmes modif en copiant/ajoutant les morceaux de codes en remplaçant à chaque fois “ second_hand” par “coming_soon”(+création du champ dans la table xx_product) mais cela ne marche pas.

(quand je colle les fichiers modifiés je n’ai plus accès à mon catalogue en BO et le site affiche page blanche en FO)

Quelqu’un pourrait-il m’indiquer où je fais fausse route ?
Ainsi que comment réaliser la modif 2 ?

Merci d’avance

Link to comment
Share on other sites

J'ai réussi à faire les modif pour le texte coming soon et reservation

j'aimerai juste reussir à :
-supprimer le bouton "ajouter au panier " dans la liste de produit ( product_list.tpl) quand l'option " coming soon " est activé en BO.

-supprimer les infos buy block ( quantité/dispo/prix/) + le bouton "ajouter au panier" MAIS PAS TOUT LE BUY BLOC car c'est la que ce trouvent mes textes " coming soon" et " vous pouvez reserver..."

merci d'avance

Link to comment
Share on other sites

  • 5 weeks later...
Alors pour cela tu n'a pas besoin de préciser une condition de catégorie spécifique puisque le simple fait que le produit soit à 0 suffira à faire ce que tu veux.

Donc tu ouvres le fichier product-list.tpl puis tu repères ces lignes:

                    {if ($product.allow_oosp OR $product.quantity > 0)}{l s='Available'}{else}{l s='Out of stock'}{/if}

               {if ($product.allow_oosp OR $product.quantity > 0) && $product.customizable != 2}

{l s='Add to cart'}
               {else}
{l s='Add to cart'}
               {/if}



Il te suffit d'ajouter ta condition au début de ces lignes puis de la refermer à la fin ce qui donne:

{if $product.price != 0}
{if ($product.allow_oosp OR $product.quantity > 0)}{l s='Available'}{else}{l s='Out of stock'}{/if}

               {if ($product.allow_oosp OR $product.quantity > 0) && $product.customizable != 2}

{l s='Add to cart'}
               {else}
{l s='Add to cart'}
               {/if}
{/if}





Up
je viens de mettre mon site en ligne et cette modif qui marchait très bien en local, pose problème et empêche l'affichage de mes listes de produits :/

Voici l'erreur en question :

Fatal error: Smarty error: [in /home/www/themes/prestashop/./product-list.tpl line 24]: syntax error: unrecognized tag: if�$product.price�!=�0 (Smarty_Compiler.class.php, line 446) in /home/www/tools/smarty/Smarty.class.php on line 1095


une idée de comment régler cela?

Merci d'avance
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...