THELIA Forum

Welcome to the THELIA support and discusssion forum

Announcement

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

Offline

#1 si sinon !!

(23-02-2007 17:38:02)


Bonjour,

question assez bête mais qui me pourri un peu la vie!!!

je fait un boucle type="RUBRIQUE" ... qui me retourne la variables #NBENFANT comment je fait pour que dans cette boucle je puisse utilisé cette variable comme condition d'un si

if #NBENFANT > 0 then ...... else .....

???

merci d'avance pour les réponses

version 1.1.9

Last edited by sdavid9 (23-02-2007 17:48:34)

Offline

#2 Re: si sinon !!

(24-02-2007 16:04:31)


Et :
$mavar= #NBENFANT;
if ($mavar > 0) {...
ne marche pas ?
Cdlt,
EB

  • yoan
  • Cofondateur Thelia

Offline

#3 Re: si sinon !!

(26-02-2007 08:17:27)


En effet pas de PHP dans les squelettes, on souhaite justement tout externaliser.
Tu souhaites faire quoi exactement ?

On doit pouvoir simplement faire ça à l'aide d'une boucle


http://yoandemacedo.com

Cofondateur de la solution Thelia 1.x

Offline

#4 Re: si sinon !!

(09-03-2007 14:48:06)


excusé moi du retard !!!

voila ce que je veux realiser une liste de produits quand c'est le dernier rayon .... si c'est possible simplement cela serai super wink

<?php
$mavar= #NBENFANT;
if ($mavar > 0)   
    {echo "<a href='rubrique.php?id_rubrique=#ID'><img src='IMG/fleche.png' alt=''>Voir tous les rayons</a>";}
else
    {echo "<a href='listproduits.php?id_rubrique=#ID'><img src='IMG/fleche.png' alt=''>Voir tous les produits</a>";}
?>

Offline

#5 Re: si sinon !!

(09-03-2007 22:58:48)


Simple suggestion, à mon avis, si tu veux afficher quelque chose lorsqu'une rubrique n'a pas de sous-rubrique (NBENFANT == 0), alors il suffit de le mettre dans le "else" d'une boucle conditionnelle, à l'intérieur de ta boucle sur les rubriques. Quelque chose comme ceci :

<T_ssrub>
<a href='rubrique.php?id_rubrique=#ID'><img src='IMG/fleche.png' alt=''>Voir tous les rayons</a>
<THELIA_ssrub parent=#ID>
</THELIA_ssrub>

</T_ssrub>
<a href='listproduits.php?id_rubrique=#ID'><img src='IMG/fleche.png' alt=''>Voir tous les produits</a>
<//T_ssrub>

J'ai pas testé, mais ça devrait marcher.

Offline

#6 Re: si sinon !!

(13-03-2007 14:15:23)


merci pour ta réponse mais je comprends pas bien ton idée ....

Si je mets autre boucle d'une je surcharge le serveur d'une requete non obligatoire de 2 ca va m'afficher le message autant de fois que j'ai de sous rubrique ..........

A moins d'avoir raté une étape ce qui est possible je vois pas bien la solution !!!!!

quelqu'un pour m'aider a trouver une solution ?

  • yoan
  • Cofondateur Thelia

Offline

#7 Re: si sinon !!

(13-03-2007 14:38:24)


Perso je ferais fait différemment.

Toi tu veux afficher la liste que si tu es dans le dernier rayon si j'ai bien saisis.

Je demanderais donc le listage de toutes les rubriques qui ont comme parent celle dans laquelle tu es.

S'il n'y a pas de sous rubrique à ta rubrique, cela veut donc dire que tu es dans le dernier rayon ...

En boucle alternative tu mets ta boucle produit. Tu vois ?


http://yoandemacedo.com

Cofondateur de la solution Thelia 1.x

Offline

#8 Re: si sinon !!

(13-03-2007 16:03:50)


Euh non pas tout compris smile
si dessous mon code entier actuel peut etre que tu comprendra mieux ce que je veux faire !!!!!

<THELIA_RUB type="RUBRIQUE" id="#RUBRIQUE_ID">
<div class="catpage">
	<div class="titre">#TITRE</div>
</div>
<THELIA_SRUB type="RUBRIQUE" parent="#ID">
<?php
$mavar= #NBENFANT;
?>
<div class="item">
	<p class="ititre">#TITRE</p>
	<p class="idesc">#DESCRIPTION</p>
	<br/><br/>
<?php
	if ($mavar > 0)	
		{echo "<a href='rubrique.php?id_rubrique=#ID'><img src='IMG/fleche.png' alt=''>Voir tous les rayons</a>";}
	else
		{echo "<a href='listproduits.php?id_rubrique=#ID'><img src='IMG/fleche.png' alt=''>Voir tous les produits</a>";}
?>
</div>
</THELIA_SRUB>
</THELIA_RUB>

En gros je liste dans l'ordre tout les sous rubriques la sous rubriques liste n'as pas de sous-sous rubriques je revoie sur la page listproduits sinon je revoie sur la même pas avec un ID different....

donc si ton idée marche toujours explique moi car moi j'ai pas compris !!!

Last edited by sdavid9 (13-03-2007 16:04:14)

  • yoan
  • Cofondateur Thelia

Offline

#9 Re: si sinon !!

(13-03-2007 16:43:47)


je ne sais pas si j'ai bien saisis ta problèmatique.

Qqchose comme ça pourrait te rendre service ?

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

  <T_ssrub>

	<THELIA_ssrub type="RUBRIQUE" parent="#RUBRIQUE_ID">
	
		<a href='rubrique.php?id_rubrique=#ID'><img src='IMG/fleche.png' alt=''>Voir tous les rayons</a>
		
	</THELIA_ssrub>


  </T_ssrub>

	<a href='listproduits.php?id_rubrique=#RUBRIQUE_ID'><img src='IMG/fleche.png' alt=''>Voir tous les produits</a>

  <//T_ssrub>


</THELIA_RUB>

http://yoandemacedo.com

Cofondateur de la solution Thelia 1.x

Offline

#10 Re: si sinon !!

(14-03-2007 12:06:59)


J'essaye encore ! ;-)

Voilà ce que je comprend :
- les rubriques de premier niveau sont les pages de catalogue (class "catpage")
- les sous-rubriques de celles-ci (deuxième niveau) sont les items qui peuvent contenir soit directement des produits, soit des rayons implémenté par des sous-rubriques (i.e. des rubrique de troisième niveau)
- Si un rubriques de deuxième niveau contient elle-même des sous-rubriques, tu proposes de voir les rayons (i.e. afficher la rubrique de deuxième niveau), sinon, tu proposes de voir les produits contenus
- Donc, pour chaque rubrique de deuxième niveau, tu ne veux voir qu'un seule ligne : afficher les rayons, ou afficher les produits

Voilà une implem de ceci, basée sur ce que j'avais proposé :

<THELIA_RUB type="RUBRIQUE" id="#RUBRIQUE_ID">
  
  <div class="catpage">
    <div class="titre">#TITRE</div>
  </div>
  
  <THELIA_SRUB type="RUBRIQUE" parent="#ID">
    <div class="item">
      <p class="ititre">#TITRE</p>
      <p class="idesc">#DESCRIPTION</p>
      <br/><br/>
    
      <T_SSRUB>      
      
      <THELIA_SSRUB parent=#ID>
      
      </THELIA_SSRUB>
      
      <a href='rubrique.php?id_rubrique=#ID'><img src='IMG/fleche.png' alt=''>Voir tous les rayons</a>
      
      </T_SSRUB>
      
      <a href='listproduits.php?id_rubrique=#ID'><img src='IMG/fleche.png' alt=''>Voir tous les produits</a>
      
      <//T_SSRUB>
    
    </div>

  </THELIA_SRUB>

</THELIA_RUB>

A moins que je n'aie rien compris au principe des boucles, ça marche. Il n'y a bien qu'une seule ligne par rubique de deuxième niveau car j'ai placé l'output de la boucle SSRUB (la plus imbriquée) :
- soit dans la partie post-boucle (s'il y a des sous-rubriques),
- soit dans la partie alternative (s'il n'y a pas de sous-rubrique).

C'est deux parties des boucles conditionnelles ne sont affichées qu'une seule fois (tout comme la partie pre-boucle d'ailleurs, qui est vide dans ce cas-ci), quel que soit le nombre d'itérations de la boucle concernée.

Mon seul soucis là-dedans est la substitution #ID pour la boucle SSRUB, qui doit, dans les 3 cas, se faire avec l'ID de la rubrique de deuxième niveau, issu l'environnement de la boucle SRUB englobante. J'imagine que Yoan peut nous dire ce qu'il en est pour cela.

(Juste en passant : quid aussi du petit bug qui force à mettre plein de lignes vides dans les boucles conditionnelles ?)

Offline

#11 Re: si sinon !!

(16-03-2007 12:01:28)


Merci

Tu as tout bien compris et grace a toi ca a l'air de marcher .... smile

voici tout de même le code

<div class="primary">
			<THELIA_RUB type="RUBRIQUE" id="#RUBRIQUE_ID">
			<div class="catpage">
				<div class="titre">#TITRE</div>
			</div>
			<THELIA_SRUB type="RUBRIQUE" parent="#ID">
			<div class="item">
				<p class="ititre">#TITRE</p>
				<p class="idesc">#DESCRIPTION </p>
				<br/><br/>
    
			<T_SSRUB>      
      
			<THELIA_SSRUB type="RUBRIQUE" courante="1" parent="#ID">
	
			</THELIA_SSRUB>
      
			<a href='rubrique.php?id_rubrique=#ID'><img src='IMG/fleche.png' alt=''>Voir tous les rayons</a>
      
			</T_SSRUB>
      
			<a href='listproduits.php?id_rubrique=#ID'><img src='IMG/fleche.png' alt=''>Voir tous les produits</a>
      
			<//T_SSRUB>
			
			</div>

			</THELIA_SRUB>

			</THELIA_RUB>

	    </div>

La modif que j'ai faite l'a été sur la ligne sous rubrique
<THELIA_SSRUB type="RUBRIQUE" courante="1" parent="#ID">
et non
<THELIA_SSRUB parent=#ID>

2 choses que j'aimerai savoir quand même :
1er : une boucle sans le type ca peu marcher ??? comme proposer par 3.14R ?
2eme : si je mets pas courante="1" cette boucle me revoie les rubriques racines de mon site au lieu de rien me renvoyer??

j'espère que j'ai été assez clair wink

merci à vous 2 en tout cas

Offline

#12 Re: si sinon !!

(16-03-2007 12:31:23)


Sinon dans le même genre pour mon menu .....

<THELIA_RUBPrinc type="RUBRIQUE" parent="0" boutique="1" classement="manuel"> 
<li><a href="#URL" class="cat1"> #TITRE</a></li>
	<THELIA_RUB2SELECT type="RUBRIQUE" parent="#RUBRIQUE_ID">
		<li><a href="#URL" class="cat2">#TITRE</a></li>
	</THELIA_RUB2SELECT>
</THELIA_RUBPrinc>

Pour afficher que les sous rubriques de la rubrique_ID et non tout les sous menu ... en php ceci marchais très bien wink

<THELIA_RUBPrinc type="RUBRIQUE" parent="0" boutique="1" classement="manuel"> 
		<li><a href="#URL" class="cat1"> #TITRE</a></li>
		<?php
		$varmenu= #ID;
		$varmenuC= #RUBRIQUE_ID;
		?>
		<THELIA_RUB2SELECT type="RUBRIQUE" parent="#ID">
			<?php
				if ($varmenu == $varmenuC)
				{
					echo("<li><a href='#URL' class='cat2'>#TITRE</a></li>");
				}
			?>
			
	</THELIA_RUB2SELECT>
</THELIA_RUBPrinc>
  • yoan
  • Cofondateur Thelia

Offline

#13 Re: si sinon !!

(17-03-2007 16:10:23)


As-tu remarqué qu'il existait un parametre courante au niveau de la boucle rubrique te permettant de savoir si tu es dans la rubrique courante ???


http://yoandemacedo.com

Cofondateur de la solution Thelia 1.x

Offline

#14 Re: si sinon !!

(19-03-2007 17:51:45)


Je dois t'avouer que courante je comprends pas trop comment ca marche et ca ne me permet pas de faire ce que je veux ....
c'est à dire n'afficher que les sous-rubrique quand je suis si rubrique_id correspond a #id de la rubrique avec cette exemple j'affiche a chaque boucle les sous rubriques ....

<THELIA_RUBPrinc type="RUBRIQUE" parent="0" boutique="1" classement="manuel"> 
		<li><a href="#URL" class="cat1"> #TITRE</a></li>
		<THELIA_RUB2SELECT type="RUBRIQUE" parent="#RUBRIQUE_ID">
			<li><a href='#URL' class='cat2'>#TITRE</a></li>
		</THELIA_RUB2SELECT>
	</THELIA_RUBPrinc>

Offline

#15 Re: si sinon !!

(21-03-2007 10:50:36)


Super, j'avais tout bien compris !!! ;-)

(évidemment, on peut pas oublier le type de boucle, bête 3.14r ;-);-))

Offline

#16 Re: si sinon !!

(21-06-2007 22:27:48)


sdavid9 wrote:

Je dois t'avouer que courante je comprends pas trop comment ca marche et ca ne me permet pas de faire ce que je veux ....
c'est à dire n'afficher que les sous-rubrique quand je suis si rubrique_id correspond a #id de la rubrique avec cette exemple j'affiche a chaque boucle les sous rubriques ....

<THELIA_RUBPrinc type="RUBRIQUE" parent="0" boutique="1" classement="manuel"> 
		<li><a href="#URL" class="cat1"> #TITRE</a></li>
		<THELIA_RUB2SELECT type="RUBRIQUE" parent="#RUBRIQUE_ID">
			<li><a href='#URL' class='cat2'>#TITRE</a></li>
		</THELIA_RUB2SELECT>
	</THELIA_RUBPrinc>

Je me permet de faire remonter ce post puisque moi aussi je rencontre le même probleme. En gros quand je clic que le Menu1 à l'affichage j'ai:

Menu1
-Sousmenu1

Menu2
-Sousmenu1

Menu3
-Sousmenu1


Je vois pas vraiment où est l'astuce pour avoir

Menu1
-Sousmenu1

Menu2

Menu3


D'avance merci

Edit: J'ai également regardé la source de http://www.khyam.fr/modules/menu_gauche.html
C'est exactement ce fonctionnement que je cherche à reproduire, pourtant ... je n'y arrive pas.  Je ne vois vraiment pas comment avancer hmm

Last edited by psai (21-06-2007 23:08:35)