Dotclear

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

Annonce

13 février 2024 Sortie de Dotclear 2.29

#1 2010-01-08 18:33:28

Mathieu M.
Membre
Lieu : Rhône-Alpes
Inscription : 2009-09-14

[home] Class CSS conditionnée

Bonsoir,

Sur mon site web, j'ai créé plusieurs boucles avec <tpl:Entries>.
Sur l'une d'elle, je met seulement le titre du billet (avec son URL). Maintenant, ce que je souhaite faire, c'est "conditionné" une class CSS sur certains billets (que je sélectionnerais).

Par exemple, rajouter une class="bold", le but étant de distinguer les billets "importants" (par exemple en leur mettant une mise en forme texte gras).

Je ne sais pas si je suis clair... :-/ mais pour rester sur "home", 1 billet sur 2, une class="odd" s'ajoute.
Je souhaite faire la même chose, mais pas 1 fois sur 2, seulement lorsque je le désire.

C'est possible ça ?


Merci ;-)

Hors ligne

#2 2010-01-08 18:54:00

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

Re : [home] Class CSS conditionnée

Bonsoir,
sur quel critère veux-tu ajouter cette classe ? Sur les billets sélectionnés ? C'est possible avec la balise <tpl:EntryIf> : http://fr.dotclear.org/documentation/2. … gs/entryif

Hors ligne

#3 2010-01-08 21:39:26

Mathieu M.
Membre
Lieu : Rhône-Alpes
Inscription : 2009-09-14

Re : [home] Class CSS conditionnée

Alors, après petite réflexion, je souhaiterais ajouter cette class lors qu'un mot se trouve dans le titre du billet. Par exemple si "Federer" se trouve dans le titre du billet => rajout d'une class "bold".

Peut-être est-ce jouable avec le fichier _public.php du thème ? En tout cas je n'ai aucune idée pour ajouter cette class... et <tpl:EntryIf> ne correspond pas d'après ce que lis sur la doc.


Merci ;-)

Hors ligne

#4 2010-01-08 22:19:16

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

Re : [home] Class CSS conditionnée

Ça va être embêtant si tu veux parler de quelqu'un d'autre que de Federer. Tu ne veux pas utiliser les billets sélectionnés ? Si tu les utilises déjà, tu peux te faire un "sélectionné bis" avec le plugin myMeta : http://www.morefnu.org/post/2007/12/07/ … tilisation

Hors ligne

#5 2010-01-08 23:13:11

Mathieu M.
Membre
Lieu : Rhône-Alpes
Inscription : 2009-09-14

Re : [home] Class CSS conditionnée

Non no, pas seulement Federer, j'imaginais plutôt une liste de 4-5 noms, les principaux "noms phares" qui attirent l'attention en fait. L'idée des billets sélectionnés ne me plait qu'à moitié, je préfère un ajout automatique de class lorsque dans un titre d'une boucle précise, un mot est trouvé.

L'idée du _public.php est farfelue dans ce contexte ou c'est envisageable ?


Merci ;-)

Mathieu - qui vient juste de faire un (petit) don à Dotclear (oui, c'est un peu de la lèche....... j'assume ;-)))

Hors ligne

#6 2010-01-08 23:18:08

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

Re : [home] Class CSS conditionnée

Mathieu M. a écrit :

L'idée du _public.php est farfelue dans ce contexte ou c'est envisageable ?

C'est tout à fait envisageable et a priori facile à coder. Mais je trouve que c'est contraignant de devoir modifier le fichier _public.php pour chaque nouveau joueur qui apparaîtra. Et si tu veux faire ressortir un billet, tu seras obligé d'inscrire l'un de ces noms dans le titre de ton article.

Hors ligne

#7 2010-01-08 23:35:19

Mathieu M.
Membre
Lieu : Rhône-Alpes
Inscription : 2009-09-14

Re : [home] Class CSS conditionnée

Oui, mais je souhaite mettre ce système uniquement pour un bloc "Flash actu" (résultats tennis), et par expérience, les visiteurs cliquent essentiellement sur les noms des meilleurs joueurs... ce sont donc uniquement ces meilleurs joueurs que je souhaite mettre en évidence ;-)

Pour la précision, je souhaite insérer une class spécifique sur une portion html codé comme ça : <p class="post-title">Doha : Nadal en finale</p>

Donc il faudrait que la class devienne <p class="post-title bold">Doha : Nadal en finale</p> par exemple. Si tu as une idée sur l'intervention chirurgicale de _public.php, je suis preneur ;-)


Merci.

Hors ligne

#8 2010-01-09 01:43:23

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

Re : [home] Class CSS conditionnée

Tu as essayé quoi pour l'instant ?

Hors ligne

#9 2010-01-09 10:09:56

Mathieu M.
Membre
Lieu : Rhône-Alpes
Inscription : 2009-09-14

Re : [home] Class CSS conditionnée

Salut,

Absolument rien :oops:
Autant le html ça me parle, mais alors le php.....

Hors ligne

#10 2010-01-09 13:38:07

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

Re : [home] Class CSS conditionnée

Voilà la fonction template que tu désires :

$core->tpl->addBlock('EntryIfWordInTitle',
	array('tplMathieuM','EntryIfWordInTitle'));

class tplMathieuM
{
	public static function EntryIfWordInTitle($attr,$content)
	{
		return
		'<?php '.
		'$words = array("Federer","Santoro");'.
		'foreach ($words as $word) :'.
		'if (stripos($_ctx->posts->post_title,$word) !== false): ?>'.
			$content.
		'<?php '.
		'break;'.
		'endif;'.
		'endforeach;'.
		'unset($words); ?>';

	}
}

Tu peux l'utiliser comme ça :

<p class="post-title<tpl:EntryIfWordInTitle> bold</tpl:EntryIfWordInTitle>">Doha : Nadal en finale</p>

À ta place, j'utiliserais "important" (ou autre chose) plutôt que "bold" car si un jour tu veux mettre en rouge plutôt qu'en gras les billets importants, "bold" n'aura plus de sens.

Hors ligne

#11 2010-01-09 13:48:32

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

Re : [home] Class CSS conditionnée

C'est intéressant,  je dirais même que ça mérite un tip ;)

Hors ligne

#12 2010-01-09 14:42:34

Mathieu M.
Membre
Lieu : Rhône-Alpes
Inscription : 2009-09-14

Re : [home] Class CSS conditionnée

Merci beaucoup je vais essayer ça (au passage je suis d'accord pour "bold", ce n'était qu'un exemple).

Une petite question :
- tplMathieuM a une importance particulière ou je peux remplacer la fonction par une appellation qui indique plus son utilité (J'adooooore l'idée d'une fonction qui porterait mon nom ;-))) mais "tplEnhanceThisNews" - par exemple - me parle un peu plus si je veux m'y retrouver dans quelques mois).


Encore un grand merci ;-)

Hors ligne

#13 2010-01-09 14:45:23

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

Re : [home] Class CSS conditionnée

amalgame : c'est noté.

Mathieu M. : Oui tu peux changer le nom de la classe comme tu l'entends, tant que tu remplaces les 2 occurrences.

Y'a pas de quoi. :)

Hors ligne

#14 2010-01-09 16:23:19

Mathieu M.
Membre
Lieu : Rhône-Alpes
Inscription : 2009-09-14

Re : [home] Class CSS conditionnée

Nickel ça fonctionne vraiment impeccablement ;-)

Merci.

Hors ligne

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

Pied de page des forums

Sites map