Puedes crear tu propia vista extendiendo View y utilizar esa o puedes
crear una referencia al objeto view en el constructor:
class MyHelper extends AppHelper {
$helpers = array('Html');
function MyHelper() {
$this->View =& ClassRegistry::getObject('view');
}
function renderElement($name, $params = array(), $loadHelpers = false) {
$this->view->addScript($this->Html->css($this->view->layout
.DS .'elements' . DS . $name));
return $this->view->renderElement($this->view->layout .
DS . $name, $params, $loadHelpers);
}
}
2008/3/27 Igurpi <[EMAIL PROTECTED]>:
>
> Hola
>
> llevo días dando vueltas a cómo hacer lo siguiente: básicamente quiero
> que cada vez que hago un view::renderElement() me añada
> AUTOMATICAMENTE al layout un css con la ruta <layout>/<element_name>
> con la instrucción view::addScript().
>
> Creé un helper llamado myView y le puse el siguiente método:
>
> function renderElement($name, $params = array(), $loadHelpers =
> false) {
>
> $this->view =& ClassRegistry::getObject('view');
>
> $this->view->addScript($this->Html->css($this->view->layout .
> DS .'elements' . DS . $name));
>
> return $this->view->renderElement($this->view->layout . DS .
> $name,
> $params, $loadHelpers);
>
> }
>
> De esta forma, en mis vistas, en lugar de hacer la llamada con $this-
> >renderElement() la hago con $myView->renderElement(). El problema de
> esto es que la página se relentiza mucho al ejecutar
> $this->view =& ClassRegistry::getObject('view'); cada vez que hago un
> renderElement.
>
> A alguien se le ocurre alguna solución? Bien sea tirando por mi método
> o por algún otro diferente.
>
> Saludos y gracias
>
> >
>
--~--~---------~--~----~------------~-------~--~----~
Has recibido este mensaje porque estás suscrito a Grupo "CakePHP-es" de Grupos
de Google.
Si quieres publicar en este grupo, envía un mensaje de correo
electrónico a [email protected]
Para anular la suscripción a este grupo, envía un mensaje a [EMAIL PROTECTED]
Para obtener más opciones, visita este grupo en
http://groups.google.com/group/CakePHP-es?hl=es.
-~----------~----~----~----~------~----~------~--~---