Cakephp usar un helper dentro de otro helper

Me ha pasado que creando un nuevo helper, he necesitado a acceder a funciones de otro helper, en mi caso acceder a las funciones del helper Html por ejemplo a la funcion link().

Pues bien hay que definir el array $helpers con todos los helpers que quieras usar dentro del tuyo propio.

[code lang=”php”]
class TestHelper extends AppHelper {
var $helpers = array(‘Html’);
}
[/code]

Pues me pase de listo y fui muy rápido al intentar acceder a las funciones de link(), directamente escribiendo $html->link(). Craso error.

Evidentemente no se hace así. La manera correcta es llamar desde tu propio objeto al objeto Html y de éste a la función

La llamada correcta es $this->Html->link()

Con más detalle en el siguiente ejemplo.

[code lang=”php”]
class TestHelper extends AppHelper {
var $helpers = array(‘Html’);

function getTheLink() {
return $this->Html->link(‘The link’, ‘/’);
}
}
[/code]

Deja un comentario

Enable Notifications    Ok No thanks