Denys06 Posted December 13, 2013 Share Posted December 13, 2013 (edited) Bonjour à tous, je poste ce sujet car cela fait 2 jours que je suis bloqué sur mon problème, maintenant je tourne en rond..J'aimerais modifier les phrases de disponibilité d'un produit sur la page product.tpl. Je sais que l'on peut éditer ces textes dans la fichiers produits en modifiant : 'Message quand en stock' et 'Message quand hors-stock mais pouvant être commandée chez le fournisseur', mais cette solution ne me convient pas car j'aimerais des texte unique qui soit visible sur l'ensemble de la boutique.Il faut que la Disponibilité affiche : En stock Sur commande Stock épuisé J'ai donc édité la partie du code de product.tpl de cette manière : <!-- availability --> <p id="availability_statut"{if ($product->quantity <= 0 && !$product->available_later && $allow_oosp) OR ($product->quantity > 0 && !$product->available_now) OR !$product->available_for_order OR $PS_CATALOG_MODE} style="display: none;"{/if}> <span id="availability_label">{l s='Availability:'}</span> <span id="availability_value"{if $product->quantity <= 0}{if $allow_oosp} class="warning_inline2"{else} class="warning_inline"{/if}{/if}>{if $product->quantity <= 0}{if $allow_oosp}{l s='On order'}{else}{l s='This product is no longer in stock'}{/if}{else}{l s='Available'}{/if}</span> </p> Mon problème actuel est que : Le script utilise toujours le texte présent dans les 2 champs 'Message quand en stock' alors que j'ai pourtant enlevé la ligne de code faisant appel à ce texte c'est à dire {$product->available_now} et {$product->available_later}. La ligne Disponibilité ne s'affiche pas non plus quand aucuns texte n'est renséigné dans les 2 champs 'Message quand en stock', hors j'aimerais qu'elle soit visible quelque soit le remplissage de ces champs.Je pense qu'il manque des modification dans product.php ou product.js, pouvez-vous s'il vous plait m'aider à finir mon idée ? Edited December 13, 2013 by Denys06 (see edit history) Link to comment Share on other sites More sharing options...
Djolhan Posted December 16, 2013 Share Posted December 16, 2013 Bonjour Denys, n'oubliez pas de regénérer vos TPL, vos modifications peuvent ne pas apparaître à cause de cela car à priori, si vous enlever le code, il ne devrait plus être visible sur le frontoffice. Sinon, pour changer les textes, vous avez aussi la partie traduction depuis le backoffice. Link to comment Share on other sites More sharing options...
Denys06 Posted December 16, 2013 Author Share Posted December 16, 2013 Bonjour Djolhan et merci pour ta réponse, J'ai bien actualisé le cache de la boutique, mais le site affiche toujours le message que j'ai indiqué dans 'Message quand en stock' malgré le code que j'ai correctement remplacé ci-dessus. C'est pour cette raison que je me suis permis de poster ce topic je suis bloqué, il doit y avoir d'autres lignes de code à modifiées dont je ne connais pas l'existence. J'ai besoin de votre aide.. Link to comment Share on other sites More sharing options...
Djolhan Posted December 16, 2013 Share Posted December 16, 2013 Ce n'est pas le cash qu'il faut désactiver, mais régénérer les TPL. On parle bien de la même chose ? Link to comment Share on other sites More sharing options...
Denys06 Posted December 16, 2013 Author Share Posted December 16, 2013 Parle tu de l'option : Effacer le cache de Smarty et le cache de l'Autoload ?Si c'est bien de ça, je l'ai bien fait à plusieurs reprise. Sinon je ne sais pas comment régénérer les TPL, comment faire stp ? Link to comment Share on other sites More sharing options...
Djolhan Posted December 16, 2013 Share Posted December 16, 2013 Quelle version de prestashop tu as ? Link to comment Share on other sites More sharing options...
Denys06 Posted December 16, 2013 Author Share Posted December 16, 2013 La dernière actuelle, c'est à dire : 1.5.6.1 Link to comment Share on other sites More sharing options...
Djolhan Posted December 16, 2013 Share Posted December 16, 2013 Tu vas dans Paramètres avancés > Performances > Forcer la compilation à chaque appel Bien entendu, tu remettras ensuite l'option "Recompiler les fichiers de templates si ils ont été mis à jour" C'est possible qu'un bug empèche d'actualiser tes TPL. Link to comment Share on other sites More sharing options...
Denys06 Posted December 16, 2013 Author Share Posted December 16, 2013 J'ai fait ce que tu m'à dit, cela n'à malheureusement rien changer à mon problème. Link to comment Share on other sites More sharing options...
Djolhan Posted December 16, 2013 Share Posted December 16, 2013 Si ta boutique n'est pas multilingue, pourquoi ne mets tu pas ce que tu souhaites en dur dans ce cas ? Link to comment Share on other sites More sharing options...
Denys06 Posted December 16, 2013 Author Share Posted December 16, 2013 Ma boutique est multilingue! J'ai mis : {l s='Available'} } et {l s='On order'} mais si je met à la place n'importe quel autre mot "en dur" : TEST ou SUR COMMAAANDE, cela affiche toujours les textes renseignés dans la fiche des produits. J'en conclu qu'une autre page dois être éditer pour que ma modification fonctionne, mais laquelle et comment ? Link to comment Share on other sites More sharing options...
Djolhan Posted December 16, 2013 Share Posted December 16, 2013 Ça ressemble à des problèmes de cash tout de même. Essayes de vider le cash de ton navigateur ou d'en changer (un qui n'est jamais allé sur ton site). J'ai remarqué par exemple que Safari a tendance à être très embêtant à rafraîchir. Link to comment Share on other sites More sharing options...
Denys06 Posted December 16, 2013 Author Share Posted December 16, 2013 (edited) Djolhan je te remercie de l'intérêt que tu porte à mon soucis (tu est le seul )J'ai supprimer tous le cache de mon ordinateur et changé de navigateur, cela ne change rien, ce n'est pas un problème de cache mais bien une partie du code que j'ai modifié qui doit être appelé ailleurs.J'ai modifié mon code dans product.tpl , j'ai enlevé toutes les translations en mettant rien à la place : <span id="availability_value"{if $product->quantity <= 0}{if $allow_oosp} class="warning_inline2"{else} class="warning_inline"{/if}{/if}>{if $product->quantity <= 0}{if $allow_oosp}{else}{/if}{else}{/if}</span> Cela n'a rien changé, j'ai toujours les messages modifiable dans la fiche produit : 'Message quand en stock', 'Message quand hors-stock mais pouvant être commandée chez le fournisseur' et 'Ce produit n'est plus en stock' qui s'affiche. Par contre si je supprime complètement cette ligne de code, alors plus rien ne s'affiche, il ne reste plus que Disponibilité : avec rien derrière.Quelqu'un saurait quoi faire ? Edited December 16, 2013 by Denys06 (see edit history) Link to comment Share on other sites More sharing options...
Djolhan Posted December 16, 2013 Share Posted December 16, 2013 A ta place, je remettrai le code d'origine, et je changerai la traduction via le systeme du backoffice. Link to comment Share on other sites More sharing options...
Denys06 Posted December 16, 2013 Author Share Posted December 16, 2013 (edited) Djolhan, mon but est d'ajouter une fonctionnalité (voir mon premier post) qui n'est pas incluse dans le code d'origine, changer la traduction ne changera rien sur ma page. Je te remercie toutefois du temps que tu à passer pour me répondre. Si quelqu'un à une idée de comment faire je suis toujours preneur de la solution, merci d'avance. Edited December 16, 2013 by Denys06 (see edit history) Link to comment Share on other sites More sharing options...
Denys06 Posted December 16, 2013 Author Share Posted December 16, 2013 En continuant mes recherches, je me suis aperçu que le code de mon premier post marche quand les produits n’ont pas de Déclinaisons. Quand ils ont une déclinaison mon code n’est pas pris en compte, pourquoi ? Link to comment Share on other sites More sharing options...
kiamaru Posted January 16, 2014 Share Posted January 16, 2014 salut Denys06 as-tu trouvé la réponse pour les déclinaisons? moi j'aimerais mettre des images à la place de texte (plus de visibilité). Link to comment Share on other sites More sharing options...
Denys06 Posted January 16, 2014 Author Share Posted January 16, 2014 (edited) Bonjour, oui voici le code que j'ai réussit à faire fonctionner sur ma boutique pour product.tpl <p id="availability_statut"> <span id="availability_label">{l s='Availability:'}</span> <span id="availability_value"{if $product->quantity <= 0}{if $allow_oosp} class="warning_inline2" title="{l s='On Backorder Explanation'}" style="cursor:help;"{else} class="warning_inline"{/if}{/if}>{if $product->quantity <= 0}{if $allow_oosp}{l s='On Backorder'}{else}{l s='This product is no longer in stock'}{/if}{else}{l s='Available'}{/if}</span> </p> Je ne suis pas sur que ça fonctionna chez toi, il faut peut être un peut l'adapter Pour ma part je continue d'améliorer cette modification, je cherche maintenant un moyen d'inclure une traduction du type {l s='Availability:'} dans du Javascript. Si quelqu'un sait comment faire je suis preneur, car actuellement ma fonction javascript n'indique pas la traduction mais simplement {l s='Availability:'}...Bon courage Edited January 16, 2014 by Denys06 (see edit history) Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now