Organización:
Crear tantos roles como home pages diferentes se van a utilizar. Llamar a cada rol home_<identificador>
Por ejemplo:
home_administrador
home_operador
home_supervisor
Luego se le asignan estos roles a los usuarios. Si se asigna mas de un rol home_ a un usuario, la página inicial será cualquiera de las asignadas.
Template homepage.htm (carpeta /www/templates)
Ejemplo de un template sencillo, parte del body.
<body onload="onPageLoad()">
<div id="main">
<a class="logo" href="/servi/index.php"></a>
<div id="appmenu"></div>
<div id="user"><com:homepage.comp.mini_who/></div>
<div id="tools">
<com:homepage.comp.who_servi/>
<div class="version"><com:includes.homepage.comp.soft_version/></div>
<com:homepage.comp.gestionadora_sidebar/>
</div>
</div>
<div id="contenido">
<com:homepage.comp.dynhome/>
</div>
</body>
En el template, solo hay que incluir el componente para mostrar las paginas home dinamicas.
La implementación de cada pagina, se hace en la carpeta /www/includes/homepage/comp
Por cada rol creado, hay que hacer un archivo PHP que se llame igual que el rol, mas otro mas llamado home_default.php que se usará en aquellos casos donde el usuario no tenga un rol home_<?> asignado.
Cada archivo, aparte de llamarse como el rol, debe instanciar una clase que se llame como el rol, y declarar el método Render().
Ejemplo archivo home_despacho.php
<?php
if(!class_exists('home_despacho'))
{
class home_despacho
{
public function Render($context)
{
$html = 'Mi contenido de homepage;
$content["home_despacho"] = $html;
$content["upload"] = "";
return array( $content, array() );
}
}
}
?>
El array de contenido llamado "$content" debe incluir por lo menos un elemento, con el nombre del rol.
No hay comentarios:
Publicar un comentario