Dotclear

Vous n'êtes pas identifié(e).

Annonce

13 février 2024 Sortie de Dotclear 2.29

#1 2008-12-03 06:55:49

nico_somb
Membre
Lieu : Rinxent
Inscription : 2004-10-26
Site Web

Parcourir la liste des widgets

Bonjour tout le monde!

je me lance dans une adaptation d'un thème WP et je rencontre un petit souci.

pour afficher les widgets, j'ai bien vu qu'il existait ça :

{{tpl:Widgets type="nav"}}

et

{{tpl:Widgets type="extra"}}

Par contre, ça, ça affiche tous les widgets d'un coup (du moins, ceux que j'ai activés dans l'admin).

ce que je voudrais, c'est connaitre la liste des widgets activés pour pouvoir les afficher dans un div différent selon tel ou tel widget.

Je sais également qu'il est possible d'afficher un widget en particulier, par exemple les pages du site :

<tpl:Widget id="pages">
<setting name="title">Menu</setting>
</tpl:Widget>

mais je ne sais pas si ce blog est activé ou pas.

En espérant m'être fait comprendre :)

Merci bien.

Nico

Hors ligne

#2 2008-12-03 18:06:52

Moe
Responsable du mini-bar
Lieu : France
Inscription : 2004-09-19
Site Web

Re : Parcourir la liste des widgets

Bonjour,
je ne suis pas sûr d'avoir compris. La liste des widgets disponibles figure dans l'aide de la page de configuration des widgets, il faut cliquer sur le point d'interrogation bleu à droite de la page.

Hors ligne

#3 2008-12-03 18:09:40

patidou
Membre
Inscription : 2004-11-14
Site Web

Re : Parcourir la liste des widgets

Les widgets sont déjà dans des divs différents avec une class ou id spécifiques… Regarde le code source de ta page ;-)


«Quand j'étais petit, je voulais être maître du monde. Maintenant que je suis grand, j'arrive à peine à être maître de moi-même.» Le Chat/Philippe Geluk.
Dotclear a besoin de vous

Hors ligne

#4 2008-12-03 20:53:23

buzz
Membre
Lieu : Priziac - Kreiz Breizh
Inscription : 2005-01-05
Site Web

Re : Parcourir la liste des widgets

patidou a écrit :

Les widgets sont déjà dans des divs différents avec une class ou id spécifiques… Regarde le code source de ta page ;-)

Je pense que ce que veux dire Nico c'est qu'une liste de TOUS les div existants serait bienvenue pour qu'on puisse faire un fichier CSS complet sans avoir à installer tous les widgets.

Hors ligne

#5 2008-12-03 21:48:36

nico_somb
Membre
Lieu : Rinxent
Inscription : 2004-10-26
Site Web

Re : Parcourir la liste des widgets

en fait ce que veut dire Nico :) , c'est que la boucle qui affiche les widgets n'est pas assez détaillée je crois... ou alors j'ai pas compris comment elle fonctionnait.

Car quand on fait appel à cette boucle, elle fait tout le traitement pour l'ensemble des widgets. Alors que moi je voudrais le div "fondBleu" pour le premier widget, le div "fondRouge" pour le 2ème, ainsi de suite, ...

J'ai été plus clair?  :)

Hors ligne

#6 2008-12-03 22:47:03

patidou
Membre
Inscription : 2004-11-14
Site Web

Re : Parcourir la liste des widgets

On peut faire ça avec l'aide de jquery mais faut prévoir le coup quand js est désactivé. ;-)


«Quand j'étais petit, je voulais être maître du monde. Maintenant que je suis grand, j'arrive à peine à être maître de moi-même.» Le Chat/Philippe Geluk.
Dotclear a besoin de vous

Hors ligne

#7 2008-12-04 06:20:47

patidou
Membre
Inscription : 2004-11-14
Site Web

Re : Parcourir la liste des widgets

Et aussi en css :

#blognav > div {background-color: blue;}
#blognav > div+div {background-color: red;}

Mais là IE6 ne comprendra rien ;-)


«Quand j'étais petit, je voulais être maître du monde. Maintenant que je suis grand, j'arrive à peine à être maître de moi-même.» Le Chat/Philippe Geluk.
Dotclear a besoin de vous

Hors ligne

#8 2008-12-04 06:36:02

nico_somb
Membre
Lieu : Rinxent
Inscription : 2004-10-26
Site Web

Re : Parcourir la liste des widgets

donc pas d'autres solutions?

car je peux très bien "figer" mes widgets, à savoir que j'affiche toujours les mêmes. Par exemple, mettre dans mon code :
<div class="fondRouge">
MonWidgetPages
</div>
<div class="fondBleu">
MonWidgetLastComments
</div>

Mais là, on aura beau ajouter/modifier/supprimer un widget depuis l'interface d'administration, ça ne changera rien...

Hors ligne

#9 2008-12-04 06:50:25

Kozlika
Modo dcTeam
Inscription : 2004-05-08
Site Web

Re : Parcourir la liste des widgets

Chaque widget possède sa class ou son id. Par exemple pour avoir un fond rouge sur le widget des catégories :

div.categories { background: red; }

(Pour connaître la class ou id spécifique au widget, affiche la source de ta page.)


La documentation : http://doc.dotclear.net/2.0/fulltoc
Le module de recherche du forum : http://www.dotclear.net/forum/search.php ?

Hors ligne

#10 2008-12-04 06:54:27

nico_somb
Membre
Lieu : Rinxent
Inscription : 2004-10-26
Site Web

Re : Parcourir la liste des widgets

argh... je me fais mal comprendre.

En partant du principe qu'on ne connait pas l'ordre des widgets activés (car ça se modifie dans l'admin), comment faire pour dire que c'est le premier widget affiché qui a un fond rouge (et pas forcément celui des catégories ;-) ) ?

Merci de votre aide!

Hors ligne

#11 2008-12-04 07:05:42

patidou
Membre
Inscription : 2004-11-14
Site Web

Re : Parcourir la liste des widgets

Avec le code que je t'ai donné ;-)

Tu fais :

#blognav > div+div+div

Pour passer au troisième etc.


«Quand j'étais petit, je voulais être maître du monde. Maintenant que je suis grand, j'arrive à peine à être maître de moi-même.» Le Chat/Philippe Geluk.
Dotclear a besoin de vous

Hors ligne

#12 2008-12-04 07:10:02

patidou
Membre
Inscription : 2004-11-14
Site Web

Re : Parcourir la liste des widgets

Il y a aussi les sélecteurs css3 mais je ne sais pas si il sont bien supportés par tous les navigateurs.

Pour IE6, on peut générer des classes avec jquery ;-)


«Quand j'étais petit, je voulais être maître du monde. Maintenant que je suis grand, j'arrive à peine à être maître de moi-même.» Le Chat/Philippe Geluk.
Dotclear a besoin de vous

Hors ligne

#13 2008-12-04 07:10:45

nico_somb
Membre
Lieu : Rinxent
Inscription : 2004-10-26
Site Web

Re : Parcourir la liste des widgets

mais ça ne marche que sous des navigateurs récents par contre?

Hors ligne

#14 2008-12-04 07:14:40

Kozlika
Modo dcTeam
Inscription : 2004-05-08
Site Web

Re : Parcourir la liste des widgets

Vois aussi ce que tu peux faire du côté de la balise template LoopPosition (?)


La documentation : http://doc.dotclear.net/2.0/fulltoc
Le module de recherche du forum : http://www.dotclear.net/forum/search.php ?

Hors ligne

#15 2008-12-04 07:20:37

patidou
Membre
Inscription : 2004-11-14
Site Web

Re : Parcourir la liste des widgets

Il y a juste IE6 (le navigateur obsolète) qui ne comprendra pas, les autres sans problèmes, d''où l'astuce avec jquery pour compenser. Je ne peux pas donner d'exemple de code, je suis en train de taper avec mon iPod touch, je posterai cet aprem ou ce soir ;-)


«Quand j'étais petit, je voulais être maître du monde. Maintenant que je suis grand, j'arrive à peine à être maître de moi-même.» Le Chat/Philippe Geluk.
Dotclear a besoin de vous

Hors ligne

#16 2008-12-04 07:31:27

nico_somb
Membre
Lieu : Rinxent
Inscription : 2004-10-26
Site Web

Re : Parcourir la liste des widgets

@Kozlika : Aah, LoopPosition peut en effet être intéressante.. mais apparemment, ça ne concerne que les boucles <tpl:Entries>. Resterait donc à savoir si ce genre de boucle peut être utilisé pour les widgets...

Hors ligne

#17 2008-12-04 07:35:46

Kozlika
Modo dcTeam
Inscription : 2004-05-08
Site Web

Re : Parcourir la liste des widgets

Ça concerne toutes les boucles, pas uniquement celle des entries. Cela dit je ne sais pas si tpl:Widgets est une boucle… à tester en tout cas.


La documentation : http://doc.dotclear.net/2.0/fulltoc
Le module de recherche du forum : http://www.dotclear.net/forum/search.php ?

Hors ligne

#18 2008-12-04 07:38:09

Philippe
Stagiaire
Lieu : Toulon
Inscription : 2004-06-13
Site Web

Re : Parcourir la liste des widgets

Si c'est seulement le premier, tu peux utiliser la propriété css first-child apliquée au bloc blognav ou blogextra, sinon comme le disait patidou ça devra passer par du javascript

Hors ligne

#19 2008-12-04 07:59:34

nico_somb
Membre
Lieu : Rinxent
Inscription : 2004-10-26
Site Web

Re : Parcourir la liste des widgets

pour comprendre un peu mieux mon histoire de div différent selon la position, cf mon sujet ici : http://forum.dotclear.net/viewtopic.php?id=37069

Hors ligne

#20 2008-12-04 09:47:33

patidou
Membre
Inscription : 2004-11-14
Site Web

Re : Parcourir la liste des widgets

Bon j'ai dit des bêtises dans mon code css plus haut, voici un exemple qui fonctionne (dans IE6 et firefox) :

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<script type="text/javascript" src="http://lombre.net/dotclear2/themes/default/js/jquery.js"></script>
<!--[if lte IE 6]>
<script type="text/javascript">
  $(document).ready(function(){
  	/*ça serait mieux avec une boucle*/
    $("#blognav > div").eq(0).addClass("premier");
    $("#blognav > div").eq(1).addClass("deuxieme");
    $("#blognav > div").eq(2).addClass("troisieme");
  });

</script>
<![endif]-->
<style type="text/css" media="screen">
	/*base*/
	#blognav {width: 10em; padding: 1em;}
	/*réglages par défaut*/
	#blognav div {border: #000 1px solid; margin-bottom: 1em; padding: 1em;}
	/*on applique le fond du premier sur tous les div puis on reprend un par un*/
	#blognav div.premier, #blognav > div {background-color: yellow;}
	/* deuxième div*/
	#blognav div.deuxieme, #blognav > div+div {background-color: blue;}
	/*troisème div*/
	#blognav div.troisieme, #blognav > div+div+div {background-color: green;}
	/*div dans div*/
	#blognav div div {background-color: white;}
	
</style>

<body>
<div id="blognav">
	<div>
		<p>1<sup>er</sup> div</p>
	</div>
	<div>
		<p>2<sup>e</sup> div</p>
		<div>
			<p>Pour le fun  un div dans le div n<sup>o</sup>2</p>
		</div>
	</div>
	<div>
		<p>3<sup>e</sup> div</p>
	</div>

</div>

</body>
</html>

On utilise les commentaires conditionnels pour que le javascript ne fonctionne qu'avec IE6.


«Quand j'étais petit, je voulais être maître du monde. Maintenant que je suis grand, j'arrive à peine à être maître de moi-même.» Le Chat/Philippe Geluk.
Dotclear a besoin de vous

Hors ligne

#21 2008-12-04 12:30:47

nico_somb
Membre
Lieu : Rinxent
Inscription : 2004-10-26
Site Web

Re : Parcourir la liste des widgets

à propos de LoopPosition, est-ce que quelqu'un sait si c'est possible de l'utiliser avec {{tpl:Widgets type="nav"}} ?

Merci!

Hors ligne

#22 2008-12-04 12:34:33

Kozlika
Modo dcTeam
Inscription : 2004-05-08
Site Web

Re : Parcourir la liste des widgets

Tu auras aussi vite fait de procéder à un test quelconque je pense ;-)


La documentation : http://doc.dotclear.net/2.0/fulltoc
Le module de recherche du forum : http://www.dotclear.net/forum/search.php ?

Hors ligne

#23 2008-12-04 13:14:56

patidou
Membre
Inscription : 2004-11-14
Site Web

Re : Parcourir la liste des widgets

Je ne veux pas faire l'oiseau de mauvais augure mais je ne croîs pas que ça marchera dans ce contexte...


«Quand j'étais petit, je voulais être maître du monde. Maintenant que je suis grand, j'arrive à peine à être maître de moi-même.» Le Chat/Philippe Geluk.
Dotclear a besoin de vous

Hors ligne

Vous n'êtes pas identifié(e).

Pied de page des forums

Sites map