Foros del Web » Programando para Internet » PHP »

engine template, generar menu, asignar clase CSS

Estas en el tema de engine template, generar menu, asignar clase CSS en el foro de PHP en Foros del Web. Hola, estoy editando un código que saqué de un libro ( POO y MVC en PHP ) y este tiene un motor de plantillas. Pero ...
  #1 (permalink)  
Antiguo 26/10/2013, 19:25
 
Fecha de Ingreso: febrero-2013
Mensajes: 163
Antigüedad: 9 años, 8 meses
Puntos: 1
engine template, generar menu, asignar clase CSS

Hola, estoy editando un código que saqué de un libro (POO y MVC en PHP) y este tiene un motor de plantillas.

Pero me surge una duda al generar los menús, cómo podría ser por ejemplo si estoy en la página de Inicio, que el botón 'Inicio' aparezca seleccionado?
O sea lo que quiero es asignarle una clase CSS al botón activo, de acuerdo a la página que esté abierta.

En vista.php hay algo así:
Código PHP:
$diccionario = array(
    
'links_menu'=>array(
        
'VIEW_SET_USER'=>MODULO.VIEW_SET_USER.'/',
        
'VIEW_GET_USER'=>MODULO.VIEW_GET_USER.'/',
        
'VIEW_EDIT_USER'=>MODULO.VIEW_EDIT_USER.'/',
        
'VIEW_DELETE_USER'=>MODULO.VIEW_DELETE_USER.'/'
    
)
    
// (...)
);

function 
retornar_vista($vista$data=array()) {
    
// (...)
    
$html render_dinamic_data($html$diccionario['links_menu']);
    
// (...)

user_template.html
Código:
<div id="menu">
    <a href="/mvc/{VIEW_SET_USER}" title="Nuevo usuario">Agregar usuario</a>
    <a href="/mvc/{VIEW_GET_USER}" title="Buscar usuario">Buscar/editar usuario</a>
    <a href="/mvc/{VIEW_DELETE_USER}" title="Borrar usuario">Borrar usuario</a>
</div>
Lo que se me ocurrio es usar la misma técnica de los enlaces, pero para asignar clases CSS
Código:
<div id="menu">
    <a href="/mvc/{VIEW_SET_USER}" class="{NUEVO_USUARIO}" title="Nuevo usuario">Agregar usuario</a>
    <a href="/mvc/{VIEW_GET_USER}" class="{BUSCAR_USUARIO}" title="Buscar usuario">Buscar/editar usuario</a>
    <a href="/mvc/{VIEW_DELETE_USER}" class="{BORRAR_USUARIO}" title="Borrar usuario">Borrar usuario</a>
</div>
Y en vista.php hago que si la etiqueta {} es la misma que la vista, entonces reemplaza con la clase correspondiente, de lo contrario la reemplaza con nada, o sea ''.

Pero es la primera vez que manejo un sistema así, de templates, y no sé si eso sería lo adecuado. Ustedes cómo lo harían?

Etiquetas: clase, css, engine, html, template
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:24.