THELIA Forum

Welcome to the THELIA support and discusssion forum

Announcement

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

Offline

#1 Lister les sous-rubriques

(25-11-2010 11:32:28)


Bonjour,

J'essaie d'afficher dans une page la liste des sous rubrique avec leurs produits d'une rubrique parent.

Je récupère l'id passé en url je fais simplement cette boucle:

<THELIA_RUB type="RUBRIQUE" parent="#RUBRIQUE_ID" pasvide="1">

Mais quand la rubrique ne contient pas de sous rubrique, il ne m'affiche rien.

Comment dois-je procéder?

Merci

Offline


Bonjour,

C'est pas très clair, car c'est relativement normal que s'il n'y a pas de sous-rubriques, rien ne s'affiche.

Alfouine,


Au royaume des aveugles, les borgnes sont mal vus.

Offline


Ce que j'essaie de faire, c'est:

Quand on clique -dans le menu déroulant- sur la rubrique, la liste des sous rubriques s'affiche sous cette forme:

Titre sous-rubrique1
-----------------------
Produit1
Produit2
Produit3
...
Titre sous-rubrique2
-----------------------
Produita
Produitb
...

Mais quand on clique -dans le menu déroulant- sur la sous-rubrique, il m'affiche uniquement:

Titre sous-rubrique1
-----------------------
Produit1
Produit2
Produit3

J'espère que c'est plus clair maintenant.

Last edited by alidine (25-11-2010 11:55:29)

Offline


C'est quoi le code de tes boucles ?

Alfouine,


Au royaume des aveugles, les borgnes sont mal vus.

Offline


Voilà le code. Merci pour ta disponibilité

<THELIA_RUB type="RUBRIQUE" parent="#RUBRIQUE_ID" pasvide="1">
			<h2>#TITRE #FILTRE_egalite(#PRODUIT_NOUVEAUTE||1||Nouveautés) #FILTRE_egalite(#PRODUIT_PROMO||1||Promotions)</h2>
            <THELIA_PROD type="PRODUIT" rubrique="#ID" nouveaute="#PRODUIT_NOUVEAUTE" promo="#PRODUIT_PROMO">
			<div class="petitBlocProduit">
                <h3><a href="#URL">#TITRE</a></h3>
                <div class="contenu">
                    <a href="#URL" class="image">
                    <THELIA_IMAGE type="IMAGE" num="1" produit="#ID"  largeur="140" >
                                <img src="#IMAGE" alt="#PRODTITRE" title="#PRODTITRE"/>
                    </THELIA_IMAGE>
                    </a>
					<div class="description">
						<span class="chapo">#CHAPO</span>
                        <span class="prixProduit">#PROMO[#PRIX2 € <span class="chapo">au lieu de #PRIX €</span>][#PRIX]</span>
                		<p><a class="acheter" href="#PANIER"><span><span>Ajouter au panier</span></span></a></p>       
                    </div>
				</div>
			</div>
			#FILTRE_modulo(#COMPT||2||<div class="separation"></div>)
            </THELIA_PROD>
			</THELIA_RUB>

Offline


Pourrais-tu tester le code suivant :

<THELIA_RUB type="RUBRIQUE" parent="#RUBRIQUE_ID">
			<h2>#TITRE</h2>
            <THELIA_PROD type="PRODUIT" rubrique="#ID">
			<div class="petitBlocProduit">
                <h3><a href="#URL">#TITRE</a></h3>
</div>
            </THELIA_PROD>
</THELIA_RUB>

Alfouine,


Au royaume des aveugles, les borgnes sont mal vus.

Offline


Bonjour,

Merci pour ton aide.

Mais c'est le même résultat que j'avais sauf qu'il affiche aussi les sous-rubriques vides.

Par contre, il ne m'affiche rien quand je clique sur une sous-rubrique.

Est-ce qu'il faudrait faire un test en php et dans la boucle thelia:

S'il s'agit d'une rubrique supérieure, mettre:

<THELIA_RUB type="RUBRIQUE" parent="#RUBRIQUE_ID">

s'il s'agit d'une sous-rubrique inférieure mettre:

<THELIA_RUB type="RUBRIQUE" id="#RUBRIQUE_ID">

ou bien y a-t-il un moyen de faire ça à la thélia??

Offline


Quand je teste chez moi cela fonctionne.

Je ne vois rien dans ce code qui te permets de cliquer sur une sous-rubrique.

Mets <h2><a href="#URL">#TITRE</a></h2> à la place de <h2>#TITRE</h2>

Et cliques dessus pour voir.

Alfouine,


Au royaume des aveugles, les borgnes sont mal vus.

Offline


On ne s'est pas bien compris je pense.

Lorsque dans le menu tu cliques par exemple sur visage, il te donne une liste des sous rubriques avec les produits qu'elle contient, notamment "anti-cerne".

mais quand tu cliques directement sur "anti-cerne" dans le menu déroulant (visage > anti-cerne) il ne t'affiche rien même s'il contient des produits.

Last edited by alidine (26-11-2010 09:51:13)

Offline


Je pensais ne pas avoir compris, mais en fait j'ai bien compris, mais je ne suis pas sur que tu utilises le code que je t'ai donné à tester (cf le source de la page) ?

Car chez moi dans un cas de figure identique cela fonctionne.

Alfouine,


Au royaume des aveugles, les borgnes sont mal vus.

Offline


Non, le clic dont je parle n'est pas dans la liste des sous-rubriques mais toujours dans le menu déroulant.

Quand tu cliques sur "visage" dans le menu déroulant en haut (bg marron) il m'affiche bien la liste de mes sous-rubriques + produits.

Mais quand je clique sur "anti-cerne" toujours dans le menu déroulant (laisse le curseur 2 ou 3 secondes sur "visage" pour que la partie dont je parle se déroule) je n'obtiens pas le résultat attendu.

Je ne sais pas si tu m'as compris cette fois.

Offline


alidine wrote:

Mais quand je clique sur "anti-cerne" toujours dans le menu déroulant (laisse le curseur 2 ou 3 secondes sur "visage" pour que la partie dont je parle se déroule) je n'obtiens pas le résultat attendu.

Je ne sais pas si tu m'as compris cette fois.

Mais quand tu cliques sur le lien anti-cerne dans le footer, le résultat est le même. C'est vide.

Donc le problème n'est pas au niveau du menu, mais surement des boucles utilisées.

Par contre si tu ne testes pas le code que je t'ai donné, je ne pourrais pas t'aider.

Alfouine,


Au royaume des aveugles, les borgnes sont mal vus.

Offline


Si, si, j'ai testé le code que tu m'as envoyé.

Le résultat est vide aussi.

Donc comme j'ai dit dans un poste plus haut, est-ce que le problème ne viendrait pas des paramètres de la boucle?

<THELIA_RUB type="RUBRIQUE" parent="#RUBRIQUE_ID">

quand je clique sur "visage", il boucle sur les sous-catégories dont l'id du parent est #RUBRIQUE_ID

par contre, quand je clique sur "anti-cerne", quand il boucle il n'y a pas de catégorie dont "anti-cerne" est le parent. donc il me retourne un résultat vide

Le problème vient peut être de là.

quand je remplace parent="#RUBRIQUE_ID" par id="#RUBRIQUE_ID" il m'affiche uniquement la rubrique dont l'id est "#RUBRIQUE_ID", qu'elle soit parent ou enfant, avec les produits qu'elle contient.

Last edited by alidine (25-11-2010 19:07:33)

Offline


Cela devrait marcher avec cela :

<T_RUB>
<THELIA_RUB type="RUBRIQUE" parent="#RUBRIQUE_ID">
            <h2><a href="testi.php?id_rubrique=#ID">#TITRE</a></h2>
            <THELIA_PROD type="PRODUIT" rubrique="#ID">
            <div class="petitBlocProduit">
                <h3><a href="#URL">#TITRE</a></h3>
</div>
            </THELIA_PROD>
</THELIA_RUB>
</T_RUB>
<THELIA_RUB type="RUBRIQUE" id="#RUBRIQUE_ID">
            <h2><a href="testi.php?id_rubrique=#ID">#TITRE</a></h2>
            <THELIA_PROD type="PRODUIT" rubrique="#ID">
            <div class="petitBlocProduit">
                <h3><a href="#URL">#TITRE</a></h3>
</div>
            </THELIA_PROD>
</THELIA_RUB>
<//T_RUB>

Pour éviter de dupliquer le code, il sera judicieux de le gérer avec un #INCLURE

Alfouine,


Au royaume des aveugles, les borgnes sont mal vus.

Offline


Oui, c'est exactement ce que je voulais faire.

Merci et désolé si je n'ai pas bien expliqué mon problème tongue

Last edited by alidine (26-11-2010 09:50:49)