Comunidad de diseño web y desarrollo en internet online

Incluir condición php en archivo tpl

Citar            
MensajeEscrito el 08 Sep 2011 07:40 am
Buenos días

Tengo una plantilla tpl que muestra mis datos. Básicamente es una tabla de registros de la BD que en la parte derecha tiene tres iconos que realizan acciones diferentes para cada uno de ellos.
Necesito añadir ahora una condición que chequee si cada registro en la BD cumple un requisito o no para mostrar uno de los iconos. Para comprobar esto en la BD he creado una función php que he introducido en un fichero de funciones php.

Me gustaría poder llamar a esta función dentro del archivo tpl y dependiendo de su resultado, incluir el icono o no.

Lo he intentado de esta forma, pero no me funciona en absoluto:

Código :

{if $pageData.access.edit}
               
               <a title='{$editLinkString}' href="#" onMouseOver="javascript:lvg_nav('{if $params.dynamic_module}{$rowData[$params.dynamic_module]}{else}{$pageData.bean.moduleDir}{/if}', '{$rowData.ID}', {if $act}'{$act}'{else}'e'{/if}, {$offset}, this)" onFocus="javascript:lvg_nav('{if $params.dynamic_module}{$rowData[$params.dynamic_module]}{else}{$pageData.bean.moduleDir}{/if}', '{$rowData.ID}', {if $act}'{$act}'{else}'e'{/if}, {$offset}, this)">
               <img border=0 src='{sugar_getimagepath file='edit_inline.gif'}'>
               </a>
{include_php file='custom/modules/Pacie_Pacientes/Comprobacines.php'}
{if ComprobarInformes($rowData.ID)}
                  <a title='Ver Informes' href="#" onMouseOver="javascript:lvg_nav('{if $params.dynamic_module}{$rowData[$params.dynamic_module]}{else}{$pageData.bean.moduleDir}{/if}', '{$rowData.ID}', {if $act}'{$act}'{else}'e'{/if}, {$offset}, this)" onFocus="javascript:lvg_nav('{if $params.dynamic_module}{$rowData[$params.dynamic_module]}{else}{$pageData.bean.moduleDir}{/if}', '{$rowData.ID}', {if $act}'{$act}'{else}'e'{/if}, {$offset}, this)">
                  <img border=0 src='{sugar_getimagepath file='pdf_icon.png'}'>
                  </a>
               {/if}
<a title='Acceso Pacs' href="#" onMouseOver="javascript:lvg_pacs('{if $params.dynamic_module}{$rowData[$params.dynamic_module]}{else}{$pageData.bean.moduleDir}{/if}', '{$rowData.ID}', {if $act}'{$act}'{else}'e'{/if}, {$offset}, this)" onFocus="javascript:lvg_nav('{if $params.dynamic_module}{$rowData[$params.dynamic_module]}{else}{$pageData.bean.moduleDir}{/if}', '{$rowData.ID}', {if $act}'{$act}'{else}'e'{/if}, {$offset}, this)">
               <img border=0 src='{sugar_getimagepath file='radioactivo_logo.png'}'>
               </a>
            {/if}


Alguna idea de como puedo hacer desde la tpl para comprobar si el registro cumple la condición en la BD y mostrar el icono o no???

Gracias

Por jlabuelo

1 de clabLevel



 

firefox
Citar            
MensajeEscrito el 08 Sep 2011 12:17 pm

jlabuelo escribió:

Tengo una plantilla tpl...

Turbo Pascal Library?

Por DriverOp

Claber

2510 de clabLevel



 

opera
Citar            
MensajeEscrito el 08 Sep 2011 12:39 pm
perdona driver pero no entiendo tu pregunta.... los arhivos con extensión tpl son los que se utilizan junto con php para consutrir páginas web...

Lo siento pero no entiendo que quieres preguntarme?

Por jlabuelo

1 de clabLevel



 

firefox
Citar            
MensajeEscrito el 08 Sep 2011 12:43 pm
Es la primera vez que escucho eso de los tpl junto a los php.

TPL es la extensión de los archivos de bibliotecas de funciones en Turbo Pascal ;).

Por DriverOp

Claber

2510 de clabLevel



 

opera
Citar            
MensajeEscrito el 08 Sep 2011 03:13 pm

jlabuelo escribió:

...
Me gustaría poder llamar a esta función dentro del archivo tpl y dependiendo de su resultado, incluir el icono o no....


Me parece que lo que esta mal aquí es la lógica, no el incluir una función dentro de la plantilla.

Nunca he manejado archivos tpl como plantillas, pero si he usado algo parecido, lo que yo haría en este caso es dentro de la función que mandas llamar a la plantilla, hacer la verificación de cada botón, de esa manera solo comparas el resultado dentro de la plantilla.

Recuerda que la función de una plantilla es separar "casi" por completo el HTML del código PHP, aunque acepta funciones simples como lo son comparaciones, manejos de cadenas y formatos.

Por Reymond

Claber

1111 de clabLevel

5 tutoriales
1 articulo

Genero:Masculino  

Mobile developer

chrome
Citar            
MensajeEscrito el 08 Sep 2011 07:00 pm
jlabuelo por el codigo supongo que usas smarty una clase php que se encarga de separar la vista de la logica, las extensiones en archivos son solo un indicio de a que tipo de grupo pertenece cada archivo, por regla son 3 caracteres al final eso inpuesto en la era de fat16, pero al final solo es una caja con datos,
bueno el punto esta en que lo que quieres hacer lo debes hacer en el archivo de la logica y ademas que tipo de condicion le quieres poner?

Por tuadmin

Claber

598 de clabLevel



Genero:Masculino  

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.