Vous n'êtes pas identifié(e).
13 février 2024 Sortie de Dotclear 2.29
Pages : 1
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
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
- les règles du forum : http://forum.dotclear.net/viewtopic.php?id=39494
- la galaxie de Dotclear 2 : http://fr.dotclear.org/documentation/2.0/links
Hors ligne
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
Ç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
- les règles du forum : http://forum.dotclear.net/viewtopic.php?id=39494
- la galaxie de Dotclear 2 : http://fr.dotclear.org/documentation/2.0/links
Hors ligne
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
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.
- les règles du forum : http://forum.dotclear.net/viewtopic.php?id=39494
- la galaxie de Dotclear 2 : http://fr.dotclear.org/documentation/2.0/links
Hors ligne
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
Tu as essayé quoi pour l'instant ?
- les règles du forum : http://forum.dotclear.net/viewtopic.php?id=39494
- la galaxie de Dotclear 2 : http://fr.dotclear.org/documentation/2.0/links
Hors ligne
Salut,
Absolument rien :oops:
Autant le html ça me parle, mais alors le php.....
Hors ligne
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.
- les règles du forum : http://forum.dotclear.net/viewtopic.php?id=39494
- la galaxie de Dotclear 2 : http://fr.dotclear.org/documentation/2.0/links
Hors ligne
C'est intéressant, je dirais même que ça mérite un tip ;)
Hors ligne
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
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. :)
- les règles du forum : http://forum.dotclear.net/viewtopic.php?id=39494
- la galaxie de Dotclear 2 : http://fr.dotclear.org/documentation/2.0/links
Hors ligne
Nickel ça fonctionne vraiment impeccablement ;-)
Merci.
Hors ligne
Pages : 1
Vous n'êtes pas identifié(e).