Jump to content

{Solucionado} Intentando hacer include en un .tpl


Recommended Posts

Buenas.

 

Bueno, la cosa es que quería modificar el módulo en el que salen las categorías.... Lo primero que he intentado es cambiar el código que saca todas las categorías por uno mio:

 

<ul class="tree {if $isDhtml}dhtml{/if}">
	{include file="prob.php"}
	<!--{foreach from=$blockCategTree.children item=child name=blockCategTree}
		{if $smarty.foreach.blockCategTree.last}
			{include file="$branche_tpl_path" node=$child last='true'}
		{else}
			{include file="$branche_tpl_path" node=$child}
		{/if}						
	{/foreach}-->
	</ul>

 

Pero lo que hace es sacarme una página en blanco que solo tiene la palabra "Categorías", sin más....

 

La parte comentada es el código original, y la segunda línea es mi código, lo que intento es que vaya a ese archivo para rellenar la lista...

 

Saludos.

 

Edito: la otra opción que me podría valer, quizá, es saber que contiene la variable $branche_tpl_path y modificar aquél fichero...

Edited by miguelangelss4 (see edit history)
Link to comment
Share on other sites

Buenas.

 

Bueno, la cosa es que quería modificar el módulo en el que salen las categorías.... Lo primero que he intentado es cambiar el código que saca todas las categorías por uno mio:

 

<ul class="tree {if $isDhtml}dhtml{/if}">
	{include file="prob.php"}
	<!--{foreach from=$blockCategTree.children item=child name=blockCategTree}
		{if $smarty.foreach.blockCategTree.last}
			{include file="$branche_tpl_path" node=$child last='true'}
		{else}
			{include file="$branche_tpl_path" node=$child}
		{/if}						
	{/foreach}-->
	</ul>

 

Pero lo que hace es sacarme una página en blanco que solo tiene la palabra "Categorías", sin más....

 

La parte comentada es el código original, y la segunda línea es mi código, lo que intento es que vaya a ese archivo para rellenar la lista...

 

Saludos.

 

Edito: la otra opción que me podría valer, quizá, es saber que contiene la variable $branche_tpl_path y modificar aquél fichero...

Lee como se hace un include php en smarty:

 

Leer: http://www.smarty.ne...include.php.tpl

 

De todos modos comenta, que es lo que quieres hacer y que tienes pensado..

Link to comment
Share on other sites

Gracias por contestar tan rápido.

 

Me funciona a medias... me explico. Este es mi fichero php:

<li><?php
$variable = "Probando PHP";
print($variable);
?></li>
<li>Probando HTML</li>

Y me pinta solo: Probando HTML (y una línea en blanco antes, que corresponde a los tags li...)

 

EDITO:

pues nada sigo probando y cuál es mi sorpresa cuando veo que mi llamada:

<ul class="tree {if $isDhtml}dhtml{/if}">
 {include file="X:\Fuentes\prestashop\modules\blockcategories\prob.php"}
 </ul>

 

Al ejecutar e ir a ver el código de la página mediante firefox esto es lo que veo:

<li><!--?php $variable = "Probando PHP"; 
print($variable); 
?--></li>
<li class="last">Probando HTML</li>

No entiendo por qué se comenta la parte PHP ni en qué momento sucede eso...

Gracias.

 

Llama al archivo que he puesto antes...

Edited by miguelangelss4 (see edit history)
Link to comment
Share on other sites

  • 2 weeks later...

He estado buscando y otra opción sería usar los tags {php}{/php} dentro de mi tpl, pero para eso necesito habilitar $smarty->allow_php_tags = true, no encuentro dónde..

Gracias.

Si usted desea cambiar ese parametro a true, lo puede hacer en el fichero /tools/smarty/Smarty.class.php,

En ese fichero busque:

public $allow_php_tag = false;

Link to comment
Share on other sites

Perfecto, gracias. :)

Por cierto, por que estas empeñado en escribir php directamente sobre el tpl?

 

Si es mas cómodo y mejor hacerte un controlador para hacer una llamada al fichero, o en este caso en la mismo clase del modulo en cuestión, te creas las funciones y luego llamas al fichero *.tpl y en el fichero *.tpl imprimes las variables que has asignado en el la clase del modulo en este caso*..

Link to comment
Share on other sites

Por que me resulta mucho más sencillo hacerlo así...

Aunque cuando vaya a acutalizar PS me arrepentiré, pero no soy capaz de hacerlo de la otra forma

Bueno..

Entonces ahora mismo ya te funciona, la prueba del principio o no?

Link to comment
Share on other sites

  • 10 months later...

Si usted desea cambiar ese parametro a true, lo puede hacer en el fichero /tools/smarty/Smarty.class.php,

En ese fichero busque:

public $allow_php_tag = false;

 

Actualmente en Prestashop 1.5.3 no existe public $allow_php_tag = false; en la ruta /tools/smarty/Smarty.class.php. Como se modifica ese parametro en esta nueva version?

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...