Bonsoir les amis,
je souhaiterai changer la balise <meta description> et <meta keyword> en fonction de l'article.
Pour cela dans le layout il y a le code suivant :
<?php
echo $this->fetch('meta');
echo $this->fetch('css');
echo $this->fetch('script');around ?>
et dans la vue associée à l'article je fais ceci:
<?php
echo $this->Html->meta('keywords', 'enter any meta keyword here');?>
<?php echo $this->Html->meta( 'description', 'enter any meta description here');?>
ça ne passe pas, vous avez une idée de l'utilisation de fetch?
Merci d'avance!!!
Salut,
si tu veux avoir les meta qui changent en fonction de tes vues, il faut que tu entoure ton deuxième bout de code par :
<?php
$this->start('meta', array('inline' => false));
echo $this->Html->meta('keywords', 'enter any meta keyword here');
echo $this->Html->meta( 'description', 'enter any meta description here');
$this->end();
?>
Ceci te permet de créer un block de vue.
Tu dois juste ajouter comme options un inline a false. En gros tu specifies à Cake de ne pas écrire ta balise meta suivant l'ordre d'apparition mais de la rattacher au fetch meta que tu mets plus haut. Dans ta vue donc :
<?php $this->Html->html("keywords", "tes keywords", array("inline" => false")); ?>
Ca marche de la même manière avec du css ou du javascript. Je te conseille de lire la partie du book qui traite du sujet : http://book.cakephp.org/2.0/en/core-libraries/helpers/html.html
Merci de votre aide!!!!
Ca nécessitera peut-être un autre billet mais quel code cakephp pour : link rel="canonical" href="www.site.com,
J'ai essayé ceci :
echo $this->Html->meta('Site','http://www.site.com', array('type' => 'html','rel'=>'canonical'));
Merci beaucoup!!!
Le code que tu mets sert à générer une balise meta et non pas un lien !
$this->Html->link("Site", "http://www.site.com", array("rel" => "canonical"));