THELIA Forum

Welcome to the THELIA support and discusssion forum

Announcement

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

Offline

#1 Déclinaisons dépendantes

(08-06-2015 10:42:16)


Bonjour,

J'ai deux déclinaisons Papiers et grammages dont l'une dépend de l'autre. Chaque papier à ses types de grammage.Il faudra donc réactualiser la liste des grammages au moment du choix du papier.


Comment peut on procéder pour trouver une solution à cette situation sous thélia2?

Offline


En ajoutant des combinaisons des déclinaisons dans mon produit, j'ai la possibilité d'ajouter à une combinaison deux valeurs de deux déclinaisons.

je pense à suivre cette démarche mais j'ai pas sur.Je suis en train de découvrir les fonctionnalités de thelia2.

Y a t il qcq qui peut m'aider?

Offline


Aprés des essais sur ce sujet, je constate qu'on peut pas créer des sous déclinaisons sous thélia2.

Offline


Bonjour, en effet cela n'est pas possible. Il faut développer une module.
Il y a pas vraiment de solution toute faite pour répondre aux besoins de ton projet.


Développeur Web chez OpenStudio
Thelia Module, Thelia School, My GitHub, My Twitter

Offline


En fait, ton problème, ce n'est pas d'avoir des "sous-déclinaisons". Ton problème, c'est de construire dynamiquement une combinaison, en choisissant une déclinaison, puis une autre afin d'arriver à une combinaison existante (ex. je veux un T-Shirt rouge, et qui soit en taille XL).

Il est tout à fait possible de faire ce que tu demandes.

Tu peux tout à fait laisser tes clients choisir les deux valeurs de déclinaisons (= 2 ID d'attribute availability), et ensuite utiliser la boucle Product sale elements pour trouver la combinaison correspondante, avec dedans une  boucle Attribute combination, dans laquelle tu va pouvoir détecter la combinaison choisie en déterminant si la combinaison courante contint les deux attribute availability ID choisis.

Un peu tordu, mais ça marche.


OpenStudio Toulouse

Offline


Merci MRGUILLOU pour la réponse. J'ai voulu une confirmtaion de ma constation.

Offline


tu as que papiers et grammages comme déclinaison ?


Développeur Web chez OpenStudio
Thelia Module, Thelia School, My GitHub, My Twitter

Offline


@ ROADSTER31, dans mon cas, le client va choisir une valeur de la 1ère déclinaison et selon la valeur choisi, la liste des valeurs de la 2ème  déclinaison s'actualise et s'affiche et le client ainsi choisit parmi la 2ème déclinaison.

Ca diffère de ce que vous m'a expliqué.

Offline


@MRGUILLOU , j'ai d'autres déclinaisons mais seules papiers et grammages dépend l'une de l'autre.

Offline


Il faut arriver à estimer le nombre de combinaisons que cela va générer.
Nous avons  eu un problème identique sur une projet. Au final il y avait plus de 50 000 combinaisons par produit car trop de solution de combinaisons.
Cela reste donc très difficile à gérer sur n'importe quelle solution ecommerce.
Pour ce client en particulier, nous avons créé un module spécifique qui lui permet de gérer des coefficients qui font varier le prix du produit en fonction des déclinaisons sélectionnées par le client.
Vos problèmes risquent d'être identiques.

Last edited by MrGuillou (09-06-2015 09:37:28)


Développeur Web chez OpenStudio
Thelia Module, Thelia School, My GitHub, My Twitter

Offline


Ma solution reste valable, et est même plus facile à mettre en œuvre.

Le client choisit la première déclinaison.

Vous déterminez avec les boucles Product sale elements et Attribute combination quelles sont les combinaisons du produit qui contiennent la déclinaisons choisie. Comme vous n'avez que 2 déclinaisons, vous retrouvez facilement quelle sont les valeurs possibles pour la deuxième déclinaison, et vos obtenez en même temps l'ID du PSE que vous devrez passer au panier.

Le tour est joué smile


OpenStudio Toulouse

Offline


Voilà ce que j'ai abouti à le faire :

		<div class="portrait slide1">
			<div class="papier-list">
                        {loop name="pse" type="product_sale_elements" product="$product_id"}
                        {loop name="combi" type="attribute_combination" product_sale_elements="$ID"  product="$product_id"}
                        {if $ATTRIBUTE_ID == 10}
					<div class="choix">
						<div class="model">
				{loop type="product-sale-elements-image" name="product-sale-elements-image" product_sale_elements_id="$ID"}
                                {loop type="image" name="image.pse"  source="product" id={$PRODUCT_IMAGE_ID}   limit="1"}
                                <img src="{$IMAGE_URL nofilter}" alt="{$TITLE}" class="img-responsive" style="width: 100% ; height: 100%" >
                                {/loop}
                                {/loop}
						</div>
                                      
						<div class="bouton-choisir">
						<button class="btn-primary" onclick="masquer_div('a_masquer');">CHOISIR</button>
                                                  
						</div>
                                  
					</div>
				 {/if}
                        {/loop}
                        {/loop}	
				</div>
			</div>
                   
                    <div id="a_masquer"> 
                        <div class="gram-list">
                        {loop name="pse" type="product_sale_elements" product="$product_id"}
                        {loop name="combi" type="attribute_combination" product_sale_elements="$ID"  product="$product_id"}
                       
                        {if $ID == 45}
				<div class="choix">
				<div class="model paysages">
                                {loop type="product-sale-elements-image" name="product-sale-elements-image" product_sale_elements_id="55,56"}
                                {loop type="image" name="image.pse"  source="product" id={$PRODUCT_IMAGE_ID}   limit="1"}
                                <img src="{$IMAGE_URL nofilter}" alt="{$TITLE}" class="img-responsive" style="width: 100% ; height: 100%" >
                                {/loop}
                                {/loop}	
				</div>
				<div class="bouton-choisir">
				<button class="btn-primary">CHOISIR</button>
				</div>
				</div>
			{/if}
                        {/loop}
                        {/loop}					
				</div>
                  </div> 

J'ai affiché les valeurs (sous forme d'images) de ma 1ère déclinaison, puis avec une codition sur chaque valeur ($ID) de cette combinaison, j'ai affiché les valeurs de la 2ème déclinaison (en précisant leurs id dans loop).

Last edited by AmalSghaier (09-06-2015 14:10:45)

Offline


Merci d'utiliser la balise

[code] ... [/code]

lorsque tu postes du code, c'est bien plus lisible pour ceux qui essaient de t'aider (j'ai modifié ton message ci-dessus dans ce sens).


OpenStudio Toulouse

  • manu
  • faï tot petar miladiu

Offline


Discussion déplacée, merci de poster au bon endroit et non pas dans la partie présentation


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

Offline


D'accord smile.