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.

-~----------~----~----~----~------~----~------~--~---

Responder a