,

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 );

à voir aussi...


Parlons ensemble...

Commenter ce billet, mais ATTENTION, tout commentaire "spammy" sera supprimé ("Génial" n'est pas un commentaire), ne suroptimisez pas non plus vos textes d'ancrages ("rencontre paris" n'est pas un pseudo).

*Obligatoire

Les widgets c'est laids ↓ et cela alourdit les pages, alors on les cachent en bas
Google Analytics Alternative