Mise au point

  • Dans les principaux thèmes mis à disposition par les designers sur Dotaddict, la ligne des tags (mots-clés) sont quasiment toujours stylés en css avec une petite îcone avant le tag.
  • Les indications suivantes sont testées sur une installation neuve (mise à jour 2.1.6 ou supérieure) avec les thèmes livrés avec le package de distribution. Si votre thème a choisi une structure ou un comportement différent(e), adapter en fonction.
  • Les modifications sont à effectuer, à votre gré, dans les fichiers templates correspondants (home.html, post.html, category.html, tag.html, archive-month.html).

Modification - Solution 1

Cherchons ces lignes :

    <tpl:EntryMetaData>
    <tpl:MetaDataHeader><ul class="post-tags"></tpl:MetaDataHeader>
    <li><a href="{{tpl:MetaURL}}">{{tpl:MetaID}}</a></li>
    <tpl:MetaDataFooter></ul></tpl:MetaDataFooter>
    </tpl:EntryMetaData>

pour les remplacer par :

    <tpl:EntryMetaData>
    <tpl:MetaDataHeader><ul class="post-tags"> {{tpl:lang Tags :}}</tpl:MetaDataHeader>
    <li><a href="{{tpl:MetaURL}}">{{tpl:MetaID}}</a><tpl:LoopPosition start="1" length="-1">, </tpl:LoopPosition></li>
    <tpl:MetaDataFooter></ul></tpl:MetaDataFooter>
    </tpl:EntryMetaData>

Modification - Solution 2

Cherchons ces lignes :

    <tpl:EntryMetaData>
    <tpl:MetaDataHeader><ul class="post-tags"></tpl:MetaDataHeader>
    <li><a href="{{tpl:MetaURL}}">{{tpl:MetaID}}</a></li>
    <tpl:MetaDataFooter></ul></tpl:MetaDataFooter>
    </tpl:EntryMetaData>

pour les remplacer par les lignes suivantes :

    <tpl:EntryMetaData>
    <tpl:MetaDataHeader>{{tpl:Langs Tags :}}</tpl:MetaDataHeader>
    <a href="{{tpl:MetaURL}}">{{tpl:MetaID}}</a>{{tpl:MetaSeparator separator=", "}}
    <tpl:MetaDataFooter></tpl:MetaDataFooter>
    </tpl:EntryMetaData>

et créer un fichier _public.php dans le dossier du thème activé :

<?php
$core->tpl->addValue('MetaSeparator', array('tplMyThemeAdditions', 'MetaSeparator'));
class tplMyThemeAdditions
{
	public static function MetaSeparator($attr)
	{
		$ret = isset($attr['separator']) ? $attr['separator'] : ' - ';
		$ret = html::escapeHTML($ret);
		return '<?php if (! $_ctx->meta->isEnd()) { ' . "echo '".addslashes($ret)."'; } ?>";
	}
}
?>

Astuce donnée par zeiram sur le forum Dotclear 2.