Pour pouvoir avoir accès aux tags avec DotClear 1.2.x (cette fonctionnalité est de base dans DotClear 2), il faut installer les 2 plugins suivants :
- Plugin Métadonnées de billet.
- Plugin twTags.
Il convient ensuite de faire certaines modifications pour la prise en compte des tags. Voici le rappel des modifications à apporter après installation des 2 plugins :
Pour pouvoir avoir accès aux tags avec DotClear 1.2.x (cette fonctionnalité est de base dans DotClear 2), il faut installer les 2 plugins suivants :
- Plugin Métadonnées de billet.
- Plugin twTags.
Il convient ensuite de faire certaines modifications pour la prise en compte des tags. Voici le rappel des modifications à apporter après installation des 2 plugins :
- Dans le dossier ecrire/ de DotClear, modifier le fichier poster.php. Juste au-dessus des commentaires (autour de la ligne 527), ajouter la ligne :
include(dirname(_ _FILE_ _).'/tools/twtags/poster-inc.php');
- Ajouter ces lignes dans le fichier list.php du thème (pour moi avant le corps du billet) :
<p class="post-info-co">
<a href="http://eddy33.eddy33.free.fr/weblog/index.php?post/2007/08/18/<?php dcPostURL(); ?>#co" title="commentaires pour : <?php dcPostTitle(); ?>">
<?php dcPostNbComments('aucun commentaire','un commentaire','%s commentaires'); ?></a>
<span>::</span>
<a href="http://eddy33.eddy33.free.fr/weblog/index.php?post/2007/08/18/<?php dcPostURL(); ?>#tb"title="trackbacks pour : <?php dcPostTitle(); ?>">
<?php dcPostNbTrackbacks('aucun trackback','un trackback','%s trackbacks');?></a>
<span>::</span>
Tags: <?php twTags::show(', ', true); ?>
</p>
- Modifier le fichier post.php du thème (juste après la ligne 40) :
<div class="post-tags">
<p>Tags: <?php twTags::show(', ', true); ?></p>
</div>
Pour l'affichage du nuage de tags, il convient de modifier 2 fichiers du thème :
- Dans le fichier sidebar.php du thème, il faut ajouter :
<div id="nuageMotsCles">
<h2>Nuage de tags</h2>
<?php twTags::tagCloud($levels = 5, $block ='<ul id="tagcloud">%s</ul>',$item = '<li class="level-%2$d">%1$s</li>'); ?>
</div>
- Dans le fichier style.css du thème, il faut ajouter :
/* Tags cloud -- */
#tagcloud ul {
margin:0;
padding:0 1em;
display:block;
}
#tagcloud li {
display:inline;
margin: 0 .1em;
padding: 0;
background-image: none;
}
#tagcloud li.level-1 { font-size: 1em; }
#tagcloud li.level-2 { font-size: 1.3em; }
#tagcloud li.level-3 { font-size: 1.6em; }
#tagcloud li.level-4 { font-size: 2em; }
#tagcloud li.level-5 { font-size: 2.3em; }
#tags {
text-align: right;
}
Ce n'est malheureusement pas suffisant car à l'usage, on a sur chaque post, le message d'erreur laconique HTTP 412 Precondition Failed !
Il convient alors de faire d'autres modifications :
- Dans le fichier <ecrire>/tools/twtags/poster-inc.php (ligne 101), il faut appeler la méthode form() de la classe lib.dcnonce comme suit (lignes 99 à 101) :
echo '</p>'.'<p class="field"><input class="submit" type="submit" value="'.__('save').'" /></p>'.dcNonce::form().'</form>';
- Dans le fichier <ecrire>/inc/lib.dcnonce.php, remplacer la méthode check() (ligne 73) par :
function check()
{
if (defined('DC_NO_SESSION')) return true;
if (!isset($_SESSION'token')) return false;
if (!empty($_POST)) {
if (!isset($_POST'dctoken')) return false;
return ($_POST'dctoken' == $_SESSION'token');
}
return true;
}
- Enfin, dans le fichier <ecrire>/tools/twtags/index.php, remplacer les lignes 126 à 128 par :
buffer::str('</p>'.'<p class="field"><input class="submit" type="submit" value="'.__('save').'" /></p>'.dcNonce::form().'</form>');
Cela devrait corriger l'erreur Precondition Failed et vous permettre enfin d'utiliser les tags avec DotClear 1.2.x
.
++
Billet original sur eddy33's Blog