Ver Mensaje Individual
  #1 (permalink)  
Antiguo 04/05/2016, 18:54
TrinityCore
 
Fecha de Ingreso: agosto-2015
Ubicación: Rosario - Argentina
Mensajes: 424
Antigüedad: 8 años, 8 meses
Puntos: 12
[DUDA] Smarty PHP

Hola gente, espero esten bien.

Estoy a punto de poner en practica el sistema de templates Smarty PHP pero antes queria que alguien que sepa me responda unas dudas...


Supongamos que yo tengo un archivo llamado menu.php que contiene lo siguiente:

Código PHP:
<?php
session_start
();
require(
'config.php');
AQUI UN WHILE PARA OBTENER DATOS...
if(
$_SESSION['usuario']){
Aqui todo lo que contiene el menu para usuarios conectados...
}else{
Aqui todo lo que contiene el menu para usuarios no conectados...
}
?>
Ahora bien, en una pagina ya sea el index.php u otra yo lo añado asi:
Código HTML:
<body>
<div id='top_menu'>
<?php include('menu.php'); ?>
</div>
</body> 
De esa manera me ahorraria tener que modificar 20 paginas en caso de agregar o eliminar un elemento del menu ya que solo deberia de modificar un archivo...

Si no me equivoco en smarty seria asi:
{if $sesion_usuario == true}
Aqui todo el html........
{else}
Aqui todo el html......
{/if}

Esto se me hace mas tedioso a la hora de tener que gregar o eliminar un elemento.

Ahora en caso de hacerlo asi:

Código PHP:
Ver original
  1. $menu_sesion_no = "
  2. <ul>
  3. <li><a class='item'>Item 1</a></li>
  4. <li><a class='item'>Item 2</a></li>
  5. <li><a class='item'>Item 3</a></li>
  6. </ul>";
  7. $menu_sesion_si = "
  8. <ul>
  9. <li><a class='item'>Item 1</a></li>
  10. <li><a class='item'>Item 2</a></li>
  11. <li><a class='item'>Item 3</a></li>
  12. </ul>";
  13. $smarty -> assign("$menu_sesion_no", $menu_sesion_no);
  14. $smarty -> assign("$menu_sesion_si", $menu_sesion_si);

Código HTML:
<body>
<div id='top_menu'>
{if $sesion_usuario == true}
{$menu_sesion_si}
{else}
{$menu_sesion_no}
{/if}
</div>
</body> 
Pero de esa manera seria mas tedioso para el diseñador, ya que a el no le interesa tener que lidiar con codigo de programacion....

Estas son las unicas formas de hacerlo que se me ocurren y me hace pensar que...

1- Smarty PHP no sirve para nada

o

2- Estoy usando mal Smarty PHP

Aclaro que en estos ejemplos no esta al 100% completo el code.... es solo un ejemplo para mostrar lo que quiero decir.

Espero me ayuden, gracias de antemano!