Foros del Web » Programando para Internet » PHP »

Plantillas

Estas en el tema de Plantillas en el foro de PHP en Foros del Web. Saludos.. Bueno bueno bueno... ya comencé a trabajar con Smarty... y pues estoy como bien con eso.. pero ahora entra esto... Que tan cierto es ...
  #1 (permalink)  
Antiguo 08/10/2003, 11:13
Avatar de Salome  
Fecha de Ingreso: noviembre-2002
Ubicación: Colombia
Mensajes: 1.032
Antigüedad: 15 años, 1 mes
Puntos: 1
Mensaje Plantillas

Saludos..

Bueno bueno bueno... ya comencé a trabajar con Smarty... y pues estoy como bien con eso.. pero ahora entra esto...

Que tan cierto es que se separa el código del diseño???... el trabajo de ambos es independiente??

Pues a mi parecer NO! porque de igual forma para mostrar por ejemplo información como esta:

table border="0" cellspacing="0" cellpadding="5">
<tr>
<td>Nombre</td>
<td>Apellido</td>
</tr>
{section name=i loop = $personas}
<tr>
<td>{$personas[i].campo1}</td>
<td>{$personas[i].campo2}</td>
</tr>
{/section}
</table>

Un diseñador debe saber que es lo que se quiere.. de igual forma seguiria "pintando el esqueleto" y uno ya meteria mano de cosas como lo anterior.. a no ser que solo deba mostrar variables tan sencillas como {$personas}, además que debe saber como se llaman los query y todo esteo que uno hace...

$personas = sql_query($query);
$smarty->assign('personas', $personas);

Entonces considero que con las plantillas el trabajo es más conjunto.. ambos a la par por así decirlo...

Lo que si es importante es que ya la "lógica" no va dentro del código html.. el este solo se muestra algo que ya se realizó en un procedimiento...

mmm pues esa es mi perspectiva.. no se.. algún comentario...
  #2 (permalink)  
Antiguo 09/10/2003, 08:02
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Cita:
Que tan cierto es que se separa el código del diseño???... el trabajo de ambos es independiente??
Pues como veras .. Smarty como motor de templates incorpora su propio psudo-lenguaje de script para gestionar algunas tareas desde la própia plantilla .. lo cual implica cierto conocimiento de "programación" ...

Yo soy de la idea que para "programar" ya uso PHP ..así que de un motor de templates sólo busco que me haga poco más que el "change" de mis variables y pueda definir bloques en mis plantillas para luego reusarlos.

Smarty .. podría trabajar de esa forma "básica" si no usas ninguna de las funcionalidades "programaticas" como las que pusistes en el ejemplo ...

Yo uso las NokTemplate (de nuestro compañero de los foros Nok) que se basan en la filosofía que te he descrito: no programación en la plantilla.

------

Sobre la opinion que tienes sobre si el trabajo es en conjunto .. o que ha de saber algo de programación tu "diseñador":

Si trabajas de la forma que te comenté (sólo con motores de plantillas tipo NokTemplate) ... Con tu "diseñador" sólo tienen que acordar que bloques y plantilas "base" ha de diseñar.

Es más .. Lo normal sería que tu implementases y definieses esos bloques (sólo la definición en si y las variables que pueda usar tipo {variable} ) y las {variables} generales (y si hay bloques que agrupes y llames bajo otra {variable} .. pues, definir que tipo de información mostrará si se llama).

Con esa definición (por escrito) que le pases al diseñador .. El diseñador sólo tendrá que armar sus plantillas base dandole la distribución a los bloques que pueda usar y a su vez implementando todo el diseño que requiera tanto la plantilla base como los bloques ...

Cuando hablo de "bloque" y de plantillas base .. me refiero a "reusar" código .. Por ejemplo:

Una plantilla base que defina la estructura del "armazón" principal de tu página .. que defina donde iran los bloques de "cabeceras, pies de página, menus ..y contenido(s) ..". Si tienes por ejemplo unas noticias que presentar que van "encajadas" en una "caja" con cierto diseño y estructura de datos (un {titulo} .. un {contenido_noticia} .. etc) con cierta distribución y "adornado todo ello con cierta gráfica caracteristica de ese tipo de información .. Eso es lo que tendrías que definir como "bloque" para poder reusarlo .. Así el diseñador haría 2/3/n tipos de bloques asociados a la información que corresponde mostrar y los usará donde quiera ..


Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.

Última edición por Cluster; 09/10/2003 a las 08:22
  #3 (permalink)  
Antiguo 09/10/2003, 08:30
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 6 meses
Puntos: 16
Hola,

Otro mensaje sobre plantillas http://www.forosdelweb.com/s/msg156986.html

En el se comenta el hecho que el propio PHP se puede usar como lenguaje de plantilla. Sinceramente, no se que diferencia hay entre decirle al diseñador que ponga {titulo} o <?php echo $titulo; ?> . Como mucho la diferencia es como lo maneje el editor visualmente.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #4 (permalink)  
Antiguo 09/10/2003, 09:07
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Sip .. josemi .. mucha diferencia no hay. Tal vez sea algo más "legible" para el "neofito" en el tema leer {titulo} que no <?=$titulo?> ..

Si se usa a ese nivel básico el "motor" de templates sería mejor usar las técnicas que se describen en el mensaje que mencionastes .. Pero, un "motor" de templates suele tener algúnos "pro" para decidirse por usarlo por ejemplo (sin meterme en el psudo-lenguaje de programación de motores tipo Smarty):

** Soporte de "bloques" (aunque a base de métodos en funciones/objetos lo podrías tener .. pero ya estaríamos metiendo algo de más de "programación" en la "template" ..)

** Soporte de caché.


Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #5 (permalink)  
Antiguo 09/10/2003, 09:10
Avatar de Salome  
Fecha de Ingreso: noviembre-2002
Ubicación: Colombia
Mensajes: 1.032
Antigüedad: 15 años, 1 mes
Puntos: 1
Pues bueno, acerca de NokTemplate, ya lo he usado y he estado pendiente de toda la información en zonaphp y en http://www.jpw.com.ar y realmente me parece excelentes por su usabilidad además que puedo encontrar información en castellano y el soporte y todo esto..

Pero, viene el pero al menos el mio.. es que en la empresa donde comence a trabajar como analista programadora me piden como motor de plantillas Smarty y aunque les hice sugerencia de NokTemplate, insistieron con que fuera Smarty por un monton de politicas de calidad y otras cosas standar e internas que maneja la empresa...

Así que como ven tendré que explicarle al diseñador, de igual forma esto no me molesta ni me implica problemas pues además de analista soy diseñadora.. asi que puedo ir de la mano... solo queria hacer como ese comentario y dar mi punto de vista...

Y pues acerca de <?=$nombre?> seria bueno saber en que radica la diferencia???.. de poner esto.. o usar plantillas??
  #6 (permalink)  
Antiguo 09/10/2003, 09:19
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Cita:
Y pues acerca de <?=$nombre?> seria bueno saber en que radica la diferencia???.. de poner esto.. o usar plantillas??
Si leistes el mensaje (link) que dejó josemi .. verás que <?=$nombre?> es código PHP simple y que PHP ya de por sí "parsea" cualquier página con contendio X (Sea HTML, javascript. .. etc) en busca de las etiquetas <? que le indican que ahí hay código que interpretar ?> .. el = es equivalenta a echo y .. $nombre tu variable.

Por eso, para estructuras sencillas de páginas que necesites separar tu código de tu presentación y no requieras de todas las funcionalidades que traen motores de "templates" clásicos .. puedes usar esa técnica.


Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #7 (permalink)  
Antiguo 09/10/2003, 09:23
Avatar de Salome  
Fecha de Ingreso: noviembre-2002
Ubicación: Colombia
Mensajes: 1.032
Antigüedad: 15 años, 1 mes
Puntos: 1
Ok, todo quedo claro entonces.. gracias

Un saludo...

  #8 (permalink)  
Antiguo 09/10/2003, 10:18
Avatar de Webstudio
Colaborador
 
Fecha de Ingreso: noviembre-2001
Ubicación: 127.0.0.1
Mensajes: 3.499
Antigüedad: 16 años, 1 mes
Puntos: 68
Como comentario y anexo a lo que se estuvo discutiendo aqui, utilizar el método de los tags tipo <?=$nombre_variable?> es posible realizar un motor de templates SOBRE este concepto y no sobre el de tener un "parser" que detecte determinado lenguaje propio del motor de templates. Esto es lo que estamos haciendo con Nok para la version 2 de NokTemplates.

Que se gana con esto ? Pues, como ventaja número 1 es que tenemos mucha más eficiencia a la hora de interpretar nuestros templates, ya que es el mismo PHP el que realiza el trabajo para el que fue programado. Utiliza sus propios métodos de la Zend Engine para cargar las páginas y hacer el interpolado de variables. No hay que utilizar complejos Parsers o realizar str_replaces sobre grandes cadenas de texto. Aparte, si se está corriendo algún tipo de PHP-CAché ( como el Zend Cache o alguno de los otros productos que cachean el PHP-bitcode ) las ganancias de tiempo sin aún mayores, ya que los templates no son más que otros archivos.php.

Y para los que se preocupan porque este método "mezcla código PHP con HTML", les comento que no hay absolutamente nada malo en ello, mientras se haga ordenadamente. La Capa de Presentación ( como cualquier otra Capa en un sistema N-Tier ) NECESITA tener una lógica. Y esa lógica no hay otra manera de dársela que con código PHP. Si vamos al concepto puro de "Vista", una Vista para generar la Interfase que va a exponer al usuario, necesita previamente hacer uso de los Objetos Modelo, obtener datos de ellos y con esa información, generar la Vista propiamente dicha. Todo ese proceso de obtención de los datos de un Modelo y de generación de la interfase, se hace con lógica programada (PHP) que si queremos mantener ordenada, podemos ponerla por completo en el Template o no. Pero hay que comprender que no hay problema en hacerlo asi.

Bueno, solo mis dos centavos para esta discusión que dicho sea de paso, son las que más me gustan.

Suerte
__________________
Tutoriales Photoshop | Web-Studio.com.ar
Artículos PHP | ZonaPHP.com
  #9 (permalink)  
Antiguo 09/10/2003, 10:35
Avatar de Salome  
Fecha de Ingreso: noviembre-2002
Ubicación: Colombia
Mensajes: 1.032
Antigüedad: 15 años, 1 mes
Puntos: 1
mmm todo va quedando muy claro (tanto que discutire hoy de nuevo la posibilidad de trabajar con NokTemplate pues ya tengo muchos más argumentos), Ahora que versión de PHP se requiere para el NokTemplate, para lo nuevo que se esta gestionando??.. que problema tendría en correrlo en por ejemplo php 4.1.2 tendria problemas con funciones o algo por estilo???

Otra cosilla si esto:

"
Cita:
utilizar el método de los tags tipo <?=$nombre_variable?> es posible realizar un motor de templates SOBRE este concepto y no sobre el de tener un "parser" que detecte determinado lenguaje propio del motor de templates. Esto es lo que estamos haciendo con Nok para la version 2 de NokTemplates.
"

es para la version 2.... en cuanto puede cambiar lo que se tiene ya de NokTemplate???.. es decir si comienzo ahora con Nok.. mas adelante que?.. solo actualizo algunas cosas.. e implemento otras.. o me cambia todo???

pero que preguntona ando hoy...
  #10 (permalink)  
Antiguo 09/10/2003, 11:17
Avatar de Webstudio
Colaborador
 
Fecha de Ingreso: noviembre-2001
Ubicación: 127.0.0.1
Mensajes: 3.499
Antigüedad: 16 años, 1 mes
Puntos: 68
jajajaja... todo es no te preocupes Salomé, que aun esta en etapa de diseño y planeamiento, por ahora, muy muy poquito código, casi nada. Solo las ideas formadas y la intención de llevarlas a código, solo nos falta "el Tiempo"... pero la idea es hacer Nok2 TAN compatible con Nok1 como sea posible, y en las partes en las que no se pueda mantener la compatibilidad ( lo cual dudo, pero es para atajarnos de cualquier problema ) tenemos pensado lanzar un par de herramientas para "convertir" los templates "viejos" al nuevo formato de Tags.

Igualmente, te diria que te quedes tranquila porque para comenzar a ver algo "funcional" aun me parece que quedan un par de meses.

Saludos.
__________________
Tutoriales Photoshop | Web-Studio.com.ar
Artículos PHP | ZonaPHP.com
  #11 (permalink)  
Antiguo 09/10/2003, 11:24
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Jeje... pues esperaremos con ansias Nok2 xD ...

Por cierto ..para Nok2 .. ¿está previsto la implementación de algún sudo-lenguaje própio para las templates tipo Smarty (y sus bucles, condicionales ..etc) o se va a seguir con la filosofia de templates "no programadas" como en Nok 1.x?

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.

Última edición por Cluster; 09/10/2003 a las 11:25
  #12 (permalink)  
Antiguo 09/10/2003, 11:36
Avatar de Salome  
Fecha de Ingreso: noviembre-2002
Ubicación: Colombia
Mensajes: 1.032
Antigüedad: 15 años, 1 mes
Puntos: 1
Entonces solo resta esperar a NT2 y esperar que si se implemente aca en la empresa el NT para las plantillas!!!! y que tal va el NT con respecto al modelo MVC?...
  #13 (permalink)  
Antiguo 09/10/2003, 11:38
Avatar de Salome  
Fecha de Ingreso: noviembre-2002
Ubicación: Colombia
Mensajes: 1.032
Antigüedad: 15 años, 1 mes
Puntos: 1
jajajaja parece que esto se vuelve cada vez más interesante... este alguna vez webstudio menciono del FrameWork que estaba haciendo.. como vas!!! si tenes "tiempo"
  #14 (permalink)  
Antiguo 09/10/2003, 12:21
Nok
 
Fecha de Ingreso: abril-2001
Mensajes: 302
Antigüedad: 16 años, 7 meses
Puntos: 0
Cita:
Por cierto ..para Nok2 .. ¿está previsto la implementación de algún sudo-lenguaje própio para las templates tipo Smarty (y sus bucles, condicionales ..etc) o se va a seguir con la filosofia de templates "no programadas" como en Nok 1.x?
Bueno, si bien, a ninguno de los dos (Webstudio y yo) nos agrada la manera en que los otros motores de Templates manejan el tema de bucles y demas, la idea es proveer una solucion para estas cosas pero de una manera mas "correcta" (por asi decirlo). Aunque todavia no tenemos nada definido. Lo que si esta definido es que no vamos a incluir ningun pseudocodigo dentro de los templates.

Respecto al MVC, pretendemos que se adapte lo mas y mejor posible a esta clase de arquitectura.

Saludos.
Nok
__________________
La casa de Noktemplate.
Zonaphp.com - Php en español.

¿Que esperas de NokTpl 2? Deja tu comentario.

Blog
Mas o menos asi .
  #15 (permalink)  
Antiguo 09/10/2003, 13:34
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Gracias Nok xD (por seguir en la filosofia inicial de Noktemplate 1.x jejej) ..

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #16 (permalink)  
Antiguo 09/10/2003, 14:20
Avatar de Salome  
Fecha de Ingreso: noviembre-2002
Ubicación: Colombia
Mensajes: 1.032
Antigüedad: 15 años, 1 mes
Puntos: 1
Creo que por ahora! esta todo claro.. gracias a los tres...

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 12:11.