Metas & Title, Symfony en présence

Juin 02, 07 Metas & Title, Symfony en présence

Metas Title Symfony

Nous avons vu que l’url rewriting est simple sous Symfony, il est de même pour la manipulation des Métas.

Imaginons que nous souhaitions modifier les métas pour chaque rubrique ($this->rubrique) en fonction des articles qui y sont affichés.

Selon vos envies nous aurions quelque chose qui peut ressembler à cela :

/* * Ajout des métas */
# Récupération de l’objet réponse par défaut
$response = $this->getResponse();

# Récupération des mots-clefs (classés) liés aux articles (classées) de la rubrique
$motcles = MotclePeer::retrieveByRubriqueId( $this->rubrique->getId() );
$c = new Criteria();
$c->add( ArticlePeer::RUBRIQUE_ID, $rubrique->getId() );
$c->add( ArticlePeer::EN_LIGNE , 1 );
$c->addAscendingOrderByColumn (ArticlePeer::CLASSEMENT);
$articles = ArticlePeer::doSelect($c);


foreach ($articles as $i => article) {
   $c = new Criteria();
   $c->add( MotclePeer::ARTICLE_ID , $article->getId() );
   $c->addAscendingOrderByColumn (MotclePeer::CLASSEMENT);
   $motcles = MotclePeer::doSelect($c);

   foreach ($motcles as $j => $motcle) {
      $metaKeywords .= $motcle->getMot().", ";
      # Le 1 premier mot-clé des 5 premiers articles
      if ($j < 1 && $i < 5) $metaTitleMotcle .= " - ".$motcle->getMot() ;
      }
}

# Ajouts de la meta keywords
$response->addMeta('keywords', $metaKeywords );


# Ajouts de la meta description
$response->addMeta('description', $this->rubrique->getMetaDescription() );


# Afficher le Title avec le titre de la rubrique,
# puis les principaux mots-clés des articles de la page
$metaTitle = $this->rubrique->getMetaTitle()." ".$metaTitleMotcle ;
$response->setTitle( $metaTitle );

Leave a Comment

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *