THELIA Forum

Welcome to the THELIA support and discusssion forum

Announcement

Rejoignez la communauté sur le Discord Thelia : https://discord.gg/YgwpYEE3y3

Offline


Bonjour à tous !

Je cherche à mettre en place un champ libre du genre "textarea" dans la page produit avant 'ajouter au panier'

J'ai bien compris que cela devait être lié à une déclinaison, mais je ne sais pas comment faire ?

J'ai trouvé quelques posts, mais aucun qui explique vraiment.
Ici un code trouvé :
   <textarea name="declinaison3" class="champsMessage" id="Message" cols="35" rows="3"></textarea>

mais comment récupérer le champ dans le backoffice ?
Quel type de déclinaison faut-il créer ?

Je suis en version1.3.8

Merci beaucoup !

Offline


Bonjour,

Quel est le but de ce champs ?

Qui le remplit, le client ? le vendeur via le back office ?

Si c'est un champs pré-rempli de chaque produit, cela s'adresse plutôt à une caractéristique libre qu'il suffit de créer et d'affecter à chaque rubrique concernée, puis de remplir ce champs supplémentaire dans chaque produit.

Alfouine,


Au royaume des aveugles, les borgnes sont mal vus.

Offline


Hello !

C'est un champ rempli par le client !
Du genre un bracelet personnalisable... ou ce genre de trucs.

Merci de ta réponse rapide !

Offline


Il existe un plugin "Message attaché à une commande" et un autre qui permet de mettre un commentaire sur un produit.

Tu les trouveras dans les contrib.

Peut-être qu'en les adaptant tu trouveras ton bonheur.

Alfouine,


Au royaume des aveugles, les borgnes sont mal vus.

Offline


hello ! & merci.

Oui, je connais, mais j'aurais souhaitée que le message se situe au niveau de la page produit !

En outre, mon soucis, c'est que ça dépend des produits, certains sont personnalisables, d'autre non, du coup ça m'arrangait bien le système de déclinaison.

...

Offline


Il existe un plugin declinaison libre également.

Dans tous les cas, plugin, déclinaison ou caractéristique, il faudra développer un bout code.

Sauf si quelqu'un l'a déjà mis en place. Ou si je me trompe mad

Alfouine,


Au royaume des aveugles, les borgnes sont mal vus.

Offline


Hello again !

Oui, une déclinaison libre, pourquoi pas, bien que je préfère une caractéristique puisque j'ai déjà utilisé le mode déclinaison libre (pour des prix différents selon telle ou telle critère)...
... mais, pour revenir à mon premier post,  je ne vois pas comment faire pour récupérer un champ texte d'une caractèristique ou déclinaison ?


pour info, j'ai vu la chose sur :
http://www.chacunsontruc.com/accessoire … be003.html

mais ... rien vu qui puisse m'aider pour autant !

Last edited by wts (19-05-2009 19:28:43)

  • manu
  • faï tot petar miladiu

Offline


tu crées une déclinaison dans ton BO, je vais l'appeler pour mon exemple "info".
Une fois crée je note sonid, pour mon exemple 4.

Je vais maintenant dans produit.html (ou le fichier coté front office qui présente le produit).

et la je mets en place mon form pour l'envoi au panier et à l'intérieur de ce form ton textarea qui prendra pour valeur pou' lattribut name="declinaisonID-DECLINAISON" (donc pour moi declinaison4) et voila rien d'autre à faire.

lors de l'ajout au panier ca va "lier" la valeur rentré par l'utilisateur avec la déclinaison et tu la verras sur la fiche de la commande sur le BO


http://doc.thelia.net/
http://thelia.net/modules
http://raynaud.io
PGP public Key : 0xC6E546A6

Offline


Hello !

Tu parles d'une déclinaison classique ou d'une déclinaison libre ?

sinon, ça donne  = exemple :
name="declinaisonID-DECLINAISON"  (donc pour moi declinaison4)
devient :
name="4-DECLINAISON" ?

Et puisque j'ai rarement eu à faire à un administrateur :
BRAVO et MERCI BCP pour TOUT !

Offline


Merci Manu pour ce cas de figure que je ne connaissais pas et qui meriterait une place dans le WIKI.

Juste pour pas rester idiot, c'est bien avec le plugin déclinaison libre que l'on fait cela.

Alfouine,


Au royaume des aveugles, les borgnes sont mal vus.

Offline


Salut,

Je crois qu'il s'agit de déclinaison normale : si pour une déclinaison donnée (ex : 4), il n'existe pas de déclidsip dans la table declidisp, le panier récupère la valeur "brute" (ici le contenu du text area) de la déclinaison dans la clé 'valeur' de $perso. Cette valeur sera donc affichée dans le panier puis la commande. Je crois qu'il faut utiliser une boucle decval dans le panier.

jb

  • manu
  • faï tot petar miladiu

Offline


voila ottoroots a tout dit :-D

Sinon wts dans mon exemple vu comme l'id de ma déclinaison est 4, j'aurais : <textarea name="declinaison4" > </textarea>

et je me souviens pas par contre avoir modifier le code du panier du template pour l'affichage smile ca doit marcher comme ca


http://doc.thelia.net/
http://thelia.net/modules
http://raynaud.io
PGP public Key : 0xC6E546A6

Offline


MERCI bcp pour toutes vos réponses !

J'ai d'autres questions éventuellement, pour abuser :-)
Es-t-il possible d'avoir plusieurs champs ?
et de déterminer quand il faut un ou deux champs selon le produit ?

Mais merci déjà, je teste au plus vite demain,
après-demain, etc.  dès que possible.

.. et bien sûr je reviens vous informer...

Last edited by wts (19-05-2009 21:09:09)

Offline


Hello !
Ok, ça marche, merci c'est SUPER et si simple !

Par ailleurs, est-il possible d'afficher le textarea uniquement pour certains produits ?

Dans une même rubrique, il y a des produits personnalisables ou non.

En parfois même, pour un même produit, il y a possibilité de l'acheter sans qu'il soit personnalisable ou de l'acheter avec une personnalisation !

Offline


Bonjour,

Le plus simple est de créer une caractéristique avec oui et non pour valeur.

Et pour chaque produit, tu affectes la valeur oui si personalisable et non pour le contraire.

Puis tu gères l'affichage en fonction de la valeur de la caractéristique pour chaque produit.

Alfouine,


Au royaume des aveugles, les borgnes sont mal vus.

Offline

Offline


HELLO !

ma caractéristique object personnalisé est de valeur 15
ma valeur OUI : 1
ma valeu NON : 28

je viens d'assayer ca :

   

 </T_PRODUIT >  <THELIA_PRODUIT type="PRODUIT" caracteristique="1" caracdisp="15-27"  > 
  <textarea name="declinaison3" > </textarea> </THELIA_PRODUIT >  </T_PRODUIT >  <//T_PRODUIT >

mais rien ne veux s'afficher !

C'est la premiere fois que je fais une boucle conditionnel sans copier/coller,
j'ai dû faire de belles erreurs !!!

Last edited by wts (21-05-2009 13:56:08)

Offline


Moi j'aurais utilisé un filtre (oui je les aime bien ^^)


Aide les autres, ils t'aideront en retour.

Offline


Ha !?

Mince, les filtres j'ai jamais fait !
Peut-être as-tu un exemple adapté à ma demande sous la main ?

merci ...

Offline


J'ai jamais rien sous la main mais dans la tête big_smile

Déjà ta boucle produit ci-dessus n'est pas très correcte... pas de ref ni d'id produit...

<THELIA_PROD type="PRODUIT" ref="#PRODUIT_REF">
//...
</THELIA_PROD>

Après dans cette boucle produit, tu fais la boucle qui va chercher la bonne caractéristique :

<THELIA_CARACVAL type="CARACVAL" caracteristique="15"  produit="#ID" >
</THELIA_CARACVAL>

et dans cette boucle tu mets :

#FILTRE_egalite(#VALEUR||1||<textarea name="declinaison3" > </textarea>)

Je pense que ça doit être ça.
La fouine confirmera ^^


Aide les autres, ils t'aideront en retour.

Offline


Hi !

J'ai mis dans ma boucle produit (corrigée)

<THELIA_CARACVAL type="CARACVAL" caracteristique="15"  produit="#ID" >
#FILTRE_egalite(#PERSONNALISATION||1||<textarea name="declinaison3" > </textarea>) </THELIA_CARACVAL>

...sachant que la valeur de ma caractéristique est 15 et son nom : PERSONNALISATION
le OUI = 27
Le non = 28

J'ai essayé avec
#PERSONNALISATION||27||
#15||27||
etc.

... mais rien ne s'affiche !!! mince ....

Et pour donner l'ensemble de ma boucle produit :

		<THELIA_PROD type="PRODUIT" ref="#PRODUIT_REF"> 
          <table width="680" border="0" align="center" cellpadding="0" cellspacing="0" class="fiche_produit_top">
            <tr>
              <td height="20" background="doc/cellule_produit_top.jpg"> </td>
            </tr>
          </table>
          <div class="fiche_produit">
       	    <div class="descriptionProduit">
       	      <p class="titre_descriptif_produit"><strong>#TITRE</strong></p>
       	      <p>#DESCRIPTION<br />
                <strong>Prix :</strong> #PRIX €</p>
            <form action="panier.php" method="post">
                  <p>
                    <input type="hidden" name="action" value="ajouter" />
                    <input type="hidden" name="ref" value="#REF" />
                    <input type="hidden" name="article" value="#ARTICLE" />
                              <T_DECLI>
                                
                                         <THELIA_DECLI type="DECLINAISON" rubrique="#RUBRIQUE_ID" produit="#ID">
                                            
                                            La couleur :
                                            <select name="declinaison#ID" class="champFormMonCompte" >
                                              <THELIA_DECLIDISP type="DECLIDISP" declinaison="#ID" produit="#PRODUIT" stockmini="0">
                                                <option value="#ID">#TITRE</option>
                                              </THELIA_DECLIDISP>
                                            </select>
                                          </THELIA_DECLI>
                    </T_DECLI>
  <//T_DECLI>
                            <span class="align_ajouter_panier">Qté :
                    <select name="quantite" size="1" class="champFormMonCompte" >
                      <THELIA_quantite type="QUANTITE" article="#ARTICLE" max="30">
                        <option value="#NUM" #SELECTED>#NUM</option>
                      </THELIA_quantite>
                    </select>
             </span></p>
             
				  <p>
  <T_dec>
    <select id="declibre" name="id_declibre" onchange="rafraichir()">
      <option value="">Votre choix ...</option>
      <THELIA_dec type="DECLIBRE" boucle="declinaison" ref="#PRODUIT_REF">
        <option value="#ID">#DECLINAISON</option>
      </THELIA_dec>
    </select>
  </T_dec>
  <//T_dec>
				    
				    * </p>
                  <p> 
                  <THELIA_CARACVAL type="CARACVAL" caracteristique="15"  produit="#ID" >
#FILTRE_egalite(#PERSONNALISATION||1||<textarea name="declinaison3" > </textarea>)
          </THELIA_CARACVAL>
                     </p>
                  <p><span class="align_ajouter_panier">
                  <input type="image" src="doc/ajout_panier.jpg" alt="Ajouter au panier" align="left" border="0" />
                                </span>           
                      </p>
            </form>
       	    </div>
          </div> 
            
                     <div class="image_produit">       
          				<THELIA_img type="IMAGE" num="1" debut="1" produit="#ID" largeur="230">
          				  <p align="left"><img src="#IMAGE"  alt="#PRODTITRE" name="photozoom" width="230" border="0" class="contourImage"  id="photozoom" title="#PRODTITRE" /></p>
       				   </THELIA_img>
                  
		                  <table width="230" border="0" align="left" cellpadding="0" cellspacing="0">
                            <tr>
                              <td width="115" height="27" align="right" valign="top">                               	<THELIA_prec type="PRODSUIVPREC" ref="#PRODUIT_REF" precedent="1" rubrique="#RUBRIQUE" classement="manuel">
	                   <p align="left"><a href="produit_cadeaux.php?ref=#REFPREC"><img src="doc/precedent.jpg" width="40" height="27" /></a></THELIA_prec></td>
                              <td width="115" height="27" align="left" valign="top">	<THELIA_suiv type="PRODSUIVPREC" ref="#PRODUIT_REF" suivant="1" rubrique="#RUBRIQUE" classement="manuel">
		                        <div align="right"><a href="produit_cadeaux.php?ref=#REFSUIV"><img src="doc/suivant.jpg" width="40" height="27" /></a> </div>
                              </THELIA_suiv></td>
                            </tr>
                       </table>

                          <p> </p>
                          <table width="230" border="0" align="left" cellpadding="0" cellspacing="0">
                            <tr>
                              <td align="center" valign="middle"><div align="center"><a href="javascript:history.back()" target="_self" class="prixProduit_style"><img src="doc/back.gif" width="8" height="8" /> retour</a></div></td>
                            </tr>
                          </table>
          </div>
          <table width="680" border="0" align="center" cellpadding="0" cellspacing="0" class="fiche_produit_down">
            <tr>
              <td height="20" background="doc/cellule_produit_down.jpg"> </td>
            </tr>
          </table>
		</THELIA_PROD>

Offline


Non non, c'est pas #PERSONNALISATION que tu dois mettre.

Et je me suis trompé, c'est pas #VALEUR mais #ID que tu dois mettre wink


Aide les autres, ils t'aideront en retour.

Offline


re-re

Ca donne #15 ou #ID ?

Dans tous les cas, ça ne marche pas chez moi !!!

Offline


<THELIA_CARACVAL type="CARACVAL" caracteristique="15"  produit="#ID" >
#ID
</THELIA_CARACVAL>

Te donne quoi ?


Aide les autres, ils t'aideront en retour.

Offline


ca me donne : 759 !!!
et un id différent opur chaque produit

Last edited by wts (21-05-2009 14:53:40)