2011-03-15 13 views
5

¿Cómo puedo crear esto usando el html helper? (Con línea = false por lo que puede especificar en una base per-view) Parece que no puedeCake PHP Canonical Tag con html helper

<link rel="canonical" href="http://www.example.com/product.php?item=swedish-fish" /> 

a encontrar nada en ello, además de un parche que no funciona.

Respuesta

7

Parece que mi amigo me dijo que yo le dije cómo hacer esto hace unos meses, problema resuelto ...

<?php echo $this->Html->meta('canonical', 
    'http://www.example.com/product.php?item=swedish-fish', 
    array('rel'=>'canonical', 'type'=>null, 'title'=>null, 'inline' => false) 
);?> 
+1

No olvide 'echo $ this-> fetch ('meta');' en diseños. – bancer

1

Si usted está buscando algo que producirá automáticamente la URL actual en una etiqueta canónica, se puede utilizar el $this->Html->url(null, true); o $this->here; dentro del asistente de CakePHP html.

<?php echo $this->Html->meta('canonical', $this->Html->url(null, true), array('rel'=>'canonical', 'type'=>null, 'title'=>null)); ?> 

O

<?php echo $this->Html->meta('canonical', $this->here, array('rel'=>'canonical', 'type'=>null, 'title'=>null)); ?> 

ADVERTENCIA: He oído de algunos casos en los que $this->here tiene problemas en entornos dev locales.

0

En CakePHP 2:

echo $this->Html->meta('canonical', 'http://example.com', array('rel' => 'canonical', 'type' => null, 'title' => null, 'inline' => false)); 

En CakePHP 3:

echo $this->Html->meta('canonical', 'http://example.com', array('rel' => 'canonical', 'type' => null, 'title' => null, 'block' => true)); 

Nota que la principal diferencia entre las versiones es que CakePHP 2 utiliza 'inline' => false mientras que CakePHP 3 utiliza 'block' => true colocar éstos dentro del documento <head> etiquetas.