Jump to content

Recuperer la référence d'une déclinaison dans product.tpl


Recommended Posts

Bonjour à tous,

 

Dans la fiche produit (product.tpl):

 

 

Je cherche à récupérer la valeur de la variable "référence"  de l'id_product_attribute (de la table product_attribute).

 

Toutes les variables produits dans la page sont product -> reference, ce qui affiche la référence produit et non la référence de la déclinaison choisie en cours.

 

Exemple:

 

Référence produit: XXX_1001

 

Référence déclinaison cliquée (en cours) : XXX_1001-05C

 

Désolé pour la question de newbie, je suis une bille en Smarty.

 

Merci d'avance pour votre aide

Link to comment
Share on other sites

Merci beaucoup pour la réponse, je vais voir ce que l'affichage de la liste donne, mais en fait, même si j'arrive à récupérer la liste des combinaisons, j'ai besoin de la référence combinaison quand l'utilisateur clique sur une image produit, par exemple (ou une couleur).

 

Si vous observez, c'est au clic que le champ référence change dans la page.

 

C'est dans product.tpl, à la ligne:

 

<span class="editable" itemprop="sku">{if !isset($groups)}{$product->reference|escape:'html':'UTF-8'}{/if}</span>

 

si je récupère le champ dans une variable, j'obtiens bien évidemment soit la référence du produit, soit la combinaison par défaut au chargement de la page.

 

Mais je n'obtiens pas la valeur après le choix de l'utilisateur sur une combinaison particulière...

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

re-salut,

j pas compris vos besoin exactement, mais vous pouvez récupérer la valeur de la variable référence dans le fichier : 

themes/NOM_THEME/js/product.js ligne 558


if (selectedCombination['reference'])
$('#product_reference span').text(selectedCombination['reference']);

s'il y a un ref pour la déclinaison sélectionne ==> changer le valeur de ref affichee

Link to comment
Share on other sites

Merci à vous deux pour toute l'aide apportée, vous êtes formidables.

 

1) Pour le besoin

 

J'ai besoin de cette référence pour l'intégrer en tant que variable dans un bouton qui appellera un module d'essayage du produit / déclinaison. C'est indispensable que j'ai cette variable pour construire le lien qui référencera le produit.

 

a) A okom3pom

 

Oui, je viens de regarder dans product.js précisément. je suppose que c'est là que le contenu du champ "Reference" est modifié dans la fiche produit.

 

$('#product_reference span').text(selectedCombination['reference']);

 

Bon maintenant, ça c'est du Javascript.

 

Pour récupérer la valeur, je dois coincer ce code dans des balises {literal} du genre :

 

{assign var=MaRef value="{literal}$('#product_reference span').text(selectedCombination['reference']){/literal}

 

?

 

Excusez pour les questions à la noix, je débute :(

 

Merci encore à tous les deux.

Link to comment
Share on other sites

Merci encore okom3pom (pseudo très drôle au passage).

 

Je vais essayer cette solution mais comme j'ai besoin d'autres variables et surtout que le lien doit ouvrir un iframe, et comporte également un lien externe vers la base du fournisseur de photos en 3D, j'hésite un peu lol à mettre tout ça dans product.js.

 

Je vais essayer de récupérer la valeur dans produit.tpl directement pour construire le lien là-bas.

 

Je suis en train de m'en vouloir à mort de ne pas connaître assez smarty

 

Je ne sais pas comment vous remercier. Vous m'avez bien aidé.

 

Si vous avez encore un moment et que vous connaissez la syntaxe pour récupérer la variable dans le .tpl, n'hésitez pas, surtout :)

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

  • 3 years later...

prestashop 1.7

Bonjour a toute la communauté,

Est ce que quelqu'un aurait la gentillesse de bien vouloir m'aider svp je suis bloqué depuis 3 jours dessus.

en fait j'essaye de faire comme aliocha07 c'est a dire quand je change de declinaison avec le select je voudrais qu'il change aussi la reference en  direct avec jquery.

il me change le prix quand je change de déclinaison mais pas le la reference produit

 

j'ai essayé

<a id="essaye-moi" href="#">Essaye moi</a> 

et ce code dans mon template/js/product.js mais ca ne fonctionne pas...aurieez vous une idée s'il vous plait ?? je vous remercie

if (selectedCombination['reference'] || productReference)
    {
        if (selectedCombination['reference'])
        {
            $('#product_reference span').text(selectedCombination['reference']);
            $('#essaye-moi').attr('href','http://www.monsite.com/monscript.php?reference='+selectedCombination['reference']);
        }
        else if (productReference)
            $('#product_reference span').text(productReference);
        $('#product_reference:hidden').show('slow');
    }
    else
        $('#product_reference:visible').hide('slow');
Link to comment
Share on other sites

  • 9 months later...

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