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.

class TestHelper extends AppHelper {
    var $helpers = array('Html');
}

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.

class TestHelper extends AppHelper {
    var $helpers = array('Html');

    function getTheLink() {
        return $this->Html->link('The link', '/');
    }
}

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *