THELIA Forum

Welcome to the THELIA support and discusssion forum

Announcement

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

Offline

#1 Accessoire en doublon

(04-11-2010 10:14:05)


Bonjour

Dans mon Panier, j'affiche les accessoires associés aux produits ajoutés au panier. Si l'accessoire est déjà dans le panier, il est rendu "invisible" dans la liste de suggestion.
Jusque là, que du classique.

Le problème est que certains accessoires sont communs à plusieurs produits dans le panier. Ils sont donc affichés plusieurs fois.
Je veux que chaque accessoire proposé ne soit affiché qu'une seule fois.

Comment faire ?

Voici ma boucle :

<THELIA_autrepanier type="PANIER">
	<T_accessoires>
		<br class="nettoyeur" />
		<div id="produits-associes">
			<div id="intertitre1-header" class="intertitre">
				<div class="intertitre_txt"><h4 class="spip"><:spipthelia:nous_vous_suggerons:></h4></div>
				<div style="clear: both;"></div>
			</div>
	<THELIA_accessoires type="ACCESSOIRE" produit="THELIA-ID">				
		<THELIA_prodaccessoire type="PRODUIT" id="THELIA-ACCESSOIRE">
			<div class="selection_sommaire liste_produits<THELIA_testproduitpanier type="PANIER" ref="THELIA-REF"> invisible</THELIA_testproduitpanier>">
				<INCLURE{fond=inc-thelia-encart-produit}{id_produit=THELIA-ID}>
			</div>
		</THELIA_prodaccessoire>
	</THELIA_accessoires>
			<br class="nettoyeur" />

			<div class='alafin'>
				[(#INCLURE{fond=button}{align=left}{text=#CONFIG{thelia/titre_nav}}{url=#URL_RUBRIQUE{#CONFIG{thelia/id_rubrique_boutique}}}{title=#CONFIG{thelia/titre_nav}})]
			</div>

		</div> [(#REM) fin produits-associes]
	</T_accessoires>
	<//T_accessoires>

</THELIA_autrepanier>

Guide, conseils et Matériaux pour construire une Terrasse en Bois

Autoconstruction, Abri et Cabane, terrasse bois, maçonnerie, ossature-bois

Offline

#2 Re: Accessoire en doublon

(07-11-2010 21:42:12)


Il n'y a pas de solution à mon problème ?
Ou peut-être, je ne suis pas clair dans l'énoncé ?


Guide, conseils et Matériaux pour construire une Terrasse en Bois

Autoconstruction, Abri et Cabane, terrasse bois, maçonnerie, ossature-bois

Offline

#3 Re: Accessoire en doublon

(08-11-2010 08:32:59)


Peut-être qu'un tout petit bout de plugin qui empêche l'ajout d'un accessoire au panier s'il est déjà présent résoudrait plus simplement le problème.


OpenStudio Toulouse

Offline

#4 Re: Accessoire en doublon

(08-11-2010 09:18:35)


Bonjour Roadster31

Je verrai bien une nouvelle boucle "PANIERACC".
Les infos à exploiter serait dans $_REQUEST['navig']->panier ?


Ou alors la modif de la boucle ACCESSOIRE existante en ajoutant :
- un paramètre pour éviter les doublons,
- un autre paramètre pour éviter les accessoires déjà présents dans le panier.



Qu'en penses-tu ?


Guide, conseils et Matériaux pour construire une Terrasse en Bois

Autoconstruction, Abri et Cabane, terrasse bois, maçonnerie, ossature-bois

Offline

#5 Re: Accessoire en doublon

(08-11-2010 09:26:22)


Après examen du code de la boucle Accessoire, je vois l'existence du paramètre unique="1", qui  permet de ne retourner qu'une seule occurrence d'un accessoire...

Bon, ben je vais aller documenter le paramètre dans le Wiki...


OpenStudio Toulouse

Offline

#6 Re: Accessoire en doublon

(08-11-2010 09:30:01)


OUPS. Je n'ai même pas pensé à regarder dans la boucle.
C'est vrai que l'on y fait souvent des découvertes.


Guide, conseils et Matériaux pour construire une Terrasse en Bois

Autoconstruction, Abri et Cabane, terrasse bois, maçonnerie, ossature-bois

Offline

Offline

#8 Re: Accessoire en doublon

(08-11-2010 10:09:44)


Malheureusement, ce paramètre ne semble pas produire ce que l'on attend, au contraire. Je récupère tous les accessoires.

En regardant le code de la boucle et l'utilisation à l'intérieur d'une boucle Panier, cela ne peut pas produire ce que j'attends.
Car la boucle est appelée plusieurs fois, avec comme input le n° d'article dans le Panier.
Pour que cela fonctionne, il faudrait que la boucle ACCESSOIRE mémorise ce qui a été affiché aux appels précédents.


Guide, conseils et Matériaux pour construire une Terrasse en Bois

Autoconstruction, Abri et Cabane, terrasse bois, maçonnerie, ossature-bois

Offline

#9 Re: Accessoire en doublon

(25-02-2012 22:43:04)


Bonsoir,
je suis confrontée au même soucis. Je dois récupérer dans ma page rubrique les accessoires de tous les produits de la rub. Evidemment certains sont en commun entre les produits et j'ai des doublons d'accessoires. Le parametre unique="1" donne des résultats folkloriques et pas très pratiques (ça m'a retourné absolument tout ).
quelqu'un aurait-il trouvé une solution ?
Merci !


MAC OS LION MAMP
Quand on veut vraiment, on peut toujours.

Offline

#10 Re: Accessoire en doublon

(05-01-2016 17:11:42)


Hi tous

Je retravaille sur ma boutique et je tombe à nouveau sur ce problème.
Je fais une recherche sur GOOGLE et je retombe sur mon message, qui date de presque 5 ans !
Toujours pas de solution aujourd'hui ?

La solution serait de faire une première boucle ACCESSOIRE qui range les ID de produit dans une table,
puis faire un filtrage pour enlever les doublons dans cette table,
et enfin parcourir la table et pour chaque élément (donc ID de produit) appeler la boucle PRODUIT finale.

Je sais manipuler les #ARRAY en SPIP mais pas en THELIA.


Guide, conseils et Matériaux pour construire une Terrasse en Bois

Autoconstruction, Abri et Cabane, terrasse bois, maçonnerie, ossature-bois

Offline

#11 Re: Accessoire en doublon

(05-01-2016 19:24:41)


Bon j'ai trouvé la solution. Cela consiste a stocké les ID des produits déjà affichés dans une liste, et de consulter cette liste avant d'afficher un produit accessoire.

Cela donne :

<THELIA_accessoires type="ACCESSOIRE" produit="THELIA-ID">
    <TEST_deja_affiche variable="THELIA-ACCESSOIRE" test="dansliste" valeur="THELIA-GET{LISTE_PROD}">
    </TEST_deja_affiche>
        <THELIA_prodaccessoire type="PRODUIT" id="THELIA-ACCESSOIRE">
        [(#REM) on n'affiche que si l'accessoire n'est pas dans la liste des prods déjà affichés
        LISTE_PROD contient les produits déjà affichés
        -----------------------------------------------------------------------------------------]
              [...] Affichage Accessoire
        </THELIA_prodaccessoire>
    <//TEST_deja_affiche>

    THELIA-SET{LISTE_PROD,THELIA-GET{LISTE_PROD},THELIA-ACCESSOIRE}      </THELIA_accessoires>

C'est du SPIP-THELIA.
Pour du THELIA pur, remplace "THELIA-" par "#"


Guide, conseils et Matériaux pour construire une Terrasse en Bois

Autoconstruction, Abri et Cabane, terrasse bois, maçonnerie, ossature-bois