Por lo que preguntas, me imagino que esas variables, ya te son necesarias
para la vista que introduces en los layouts de la aplicación,
independiente de las vistas de la accion que ejecutes, la cual pertenecerá
a su controlador correspondiente.
Quizas, antes de introducir "lógica de negocio" en los layouts, quizas sea
interesante que tomes en cuenta la alternativa de utilizar elements los
cuales enbebas después. Es solo una propuesta.
Con tu opción tienes varias alternativas. En principio se me ocurre que
crees una funcion en app_controller de cake mediante un callback del
controlador.
TE pongo un ejemplo que seguro que te sirve de mucha más ayuda:
class AppController extends Controller {
function beforeRender() {
static $level;
static $id;
if(!$level){
$level = $this->Session->read('User.level');
}
if(!$id){
$id = $this->Session->read('User.id');
}
$this->set('user_level', $id);
$this->set('user_id', $id);
}
}
Como ves sobrescribo el callback beforeRender en el cual inicializo las
variables user_level y user_id las cuales leo de las variables de sesión
correspondientes.
En tu caso, la llamada a tu acción la podrías acer aqui. Por ejemplo:
function beforeRender() {
$this->_initConf();
}
function _initConf() {
$this->set('configs', $this->requestAction('/configs));
}
Tendrías que utilizar el callback más adecuado para ti.
DE todas formas aqui en
$this->set('configs', $this->requestAction('/configs));
te falta indicar la acción. Me imagino que configs es el controlador y te
faltaría indicar la accion.
Espero te sea de ayuda.
On Wed, 18 Jul 2007 13:09:51 +0200, r0sk <[EMAIL PROTECTED]> wrote:
> Tengo un pequeño problema a la hora de esquematizar la aplicación que
> quiero
> desarrollar con CakePHP. Hay ciertas configuraciones (y no me refiero a
> las
> configuraciones de CakePHP) de la aplicación que me gustaría guardar
en
> una
> tabla dentro de la base de datos. Dichas configuraciones son las
típicas:
>
> - Título de la aplicación
> - Versión
> - Estilo (theme css) que se va a cargar
> - Metas (metadatos generales de la página)
> ...
>
> Para ello he creado una tabla "configs" en la base de datos con la
> siguiente
> estructura:
>
> CREATE TABLE `configs` (
> `id` int(11) unsigned NOT NULL auto_increment,
> `key` varchar(255) NOT NULL,
> `value` text NOT NULL,
> PRIMARY KEY (`id`),
> UNIQUE KEY `key` (`key`)
> ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=9 ;
>
> Con su controlador y su modelo específico. Mi cuestión es la siguiente.
> Si
> en views/layouts/default.thtml tengo la vista principal de la aplicación
> y
> necesito cargar varios de esos valores de configuración almacenados en
la
> base de datos, ¿cómo debo hacerlo?. ¿Cuándo ó dónde llamo al
> controlador
> (findByKey()) para que devuelva los valores que me hacen falta a una
> variable que luego pueda usar en default.thtml?:
>
> $this->set('configs', $this->requestAction('/configs));
>
> Gracias de antemano.
>
>
--
Toni Martínez Carballo
Ousli . "Ourense software libre"
http://www.ousli.org
mail: [EMAIL PROTECTED]
--~--~---------~--~----~------------~-------~--~----~
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.
-~----------~----~----~----~------~----~------~--~---