Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/tgarchive/forum/include/parser.php on line 414

#1 18-01-2007 21:59:33

tom_sawyer
Search & Replace
Lieu: Lyon
Date d'inscription: 29-09-2005
Messages: 2068
Site web

Meta description dotclear

Voici un code trouvé sur le forum dotclear pour gérer des meta descriptions dynamiques pour Dotclear 1.2.5

Je le mets ici car j'ai toujours du mal à la retrouver.

Dans à la fin du fichier layout/functions.php ajouter

Code:

/**
@function dcMetaDescription

Affichage de la description de la catégorie, du billet ou du blog
pour meta description

@param integer length Entier précisant le nombre de caractères à afficher
@param string  hellip Indicateur de texte tronqué
*/
function dcMetaDescription ($length=300,$hellip='(...)')
{
    global $cat_id, $blog, $mode, $news;
    if ($mode == 'cat') {
        if ($cat_id != '') {
        $rscat = $blog->getCat($cat_id);
            if (!empty($rscat)) {
              $desc = $rscat->f('cat_desc');
                  if ($desc != '') {
                $res .= sprintf($desc);
                printf(ereg_replace("\r?\n", " ", util::cutString($res,$length).$hellip));
                  } else {
                $res = dc_blog_desc;
                printf($res);
                }
            }
          }        
    } elseif ($mode == 'post') {
        
        if ($news->f('post_chapo') != '') {
        printf (ereg_replace("\r?\n", " ", util::cutString(strip_tags($news->getChapo()),$length).$hellip));
        } else {
        printf(ereg_replace("\r?\n", " ", util::cutString(strip_tags($news->getContent()),$length).$hellip));
        }
    } else {
        $res = dc_blog_desc;
        printf($res);
    }
}

ensuite dans le fichier template.php du thème ajouter

Code:

<meta name="description" content="<?php if ($mode == 'home') : echo"La description de votre blog";  elseif ($mode == 'post') : echo dcMetaDescription(); elseif ($mode == 'cat') : echo dcMetaDescription(); else: echo dcMetaDescription(); endif; ?>" />

Quelqu'un aurait une astuce pour supprimer les " dans le début des billets car s'il y en a ça fait foirer la balise hmm

Hors ligne

 

#2 18-01-2007 22:07:55

pagetronic
Pre-Malgache
Lieu: skynet.mars
Date d'inscription: 12-04-2006
Messages: 3542
Site web

Re: Meta description dotclear

tu as pensé à "htmlentities" ?

Hors ligne

 

#3 18-01-2007 22:12:06

Rottman
Tagglers+
Date d'inscription: 06-10-2005
Messages: 455
Site web

Re: Meta description dotclear

Oui il faut rajouter un htmlentites( juste arpès les printf(  et ne pas oublier de fermer la parenthèse à la fin.

Derni�re modification par Rottman (18-01-2007 22:12:19)

Hors ligne

 

#4 19-01-2007 15:53:17

tom_sawyer
Search & Replace
Lieu: Lyon
Date d'inscription: 29-09-2005
Messages: 2068
Site web

Re: Meta description dotclear

Merci à vous wink

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 R. Andersson