Jump to content

SOLUCIONADO pasar array a tpl


ditolas

Recommended Posts

Hola a todos,

tengo una duda en lo que respecta a los arrays con smarty.Tengo un pagina que cargar una lista de imagenes.llama al Controller correspondiente y de ahi necesito mandar el array con la ruta y nombre del fichero a un archivo tpl para mostrarlas.He estado haciendo pruebas pero no encuentro la manera ,os dejo los ficheros por si alguien me puede echar una mano.necesitaria saber como mando los array al tpl y como los leo en el tpl.

ListadoController.php

<?php

class ListadoControllerCore extends FrontController

{

public $php_self = 'Listado';

public $page_name = 'Listado';

 

public function initContent()

 

{

$directory="Disenos/";

$i=0;

$dirint = dir($directory);

while (($archivo = $dirint->read()) !== false)

{

if (eregi("gif", $archivo) || eregi("jpg", $archivo) || eregi("png", $archivo)){

 

$arr[$i]=$archivo;

$arr2[$i]=$directory;

echo $arr[$i];

echo $arr2[$i];

echo $i;

 

 

 

$this->context->smarty->assign('lista',array('variableruta'=>$arr2[$i],'variablearchivo'=>$arr[$i]));

 

 

}

 

$i++;

}

$dirint->close();

 

 

 

 

parent::initContent();

$this->setTemplate(_PS_THEME_DIR_.'listado.tpl');

 

}

 

}

listado.tpl

 

capture name=path}{l s='Listado'}{/capture}

{include file="$tpl_dir./breadcrumb.tpl"}

 

 

<h1>{l s='Listado'}</h1>

<div class="rte">

{l s='Hola Mundo'}

<br>

<a href="{$base_dir}cms.php?id_cms=6">prueba2</a>

<br>

 

 

 

<div id='wrapper'>

<div id='header'></div>

<div id='body'>

 

 

{foreach from=$lista item=$variableruta}

 

Mi enlace tiene el valor: {$variableruta} </br>

Mi enlace tiene el valor: {$variableruta2} </br>

Mi enlace tiene el valor: {$variablearchivo} </br>

Mi enlace tiene el valor: {$lista} </br>

Mi enlace tiene el valor: {$item} </br>

{/foreach}

</div>

<div class='clearfix'></div>

<div id='push'></div>

</div>

 

<div id='footer'><div><p>Footer</p></div></div>

 

 

 

 

 

<a href="subefoto.php">Sube Tu diseño</a>

 

</div>

 

Un Saludo

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

listado.tpl

{capture name=path}{l s='Listado'}{/capture}

{include file="$tpl_dir./breadcrumb.tpl"}

 

 

<h1>{l s='Listado'}</h1>

<div class="rte">

{l s='Hola Mundo'}

<br>

<a href="{$base_dir}cms.php?id_cms=6">prueba2</a>

<br>

 

 

 

<div id='wrapper'>

<div id='header'></div>

<div id='body'>

 

 

{foreach $lista as $i}

Mi enlace tiene el valor: {$i} </br>

{/foreach}

</div>

<div class='clearfix'></div>

<div id='push'></div>

</div>

 

<div id='footer'><div><p>Footer</p></div></div>

 

 

 

 

 

<a href="subefoto.php">Sube Tu diseño</a>

 

</div>

ListadoController.php

 

<?php

class ListadoControllerCore extends FrontController

{

public $php_self = 'Listado';

public $page_name = 'Listado';

 

public function initContent()

 

{

$directory="Disenos/";

$i=0;

$dirint = dir($directory);

while (($archivo = $dirint->read()) !== false)

{

if (eregi("gif", $archivo) || eregi("jpg", $archivo) || eregi("png", $archivo)){

 

$arr[$i]=$archivo;

$arr2[$i]=$directory;

echo $arr[$i];

echo $arr2[$i];

echo $i;

 

$this->context->smarty->assign('lista',array('variableruta'=>$arr[$i]));

 

 

}

 

$i++;

}

$dirint->close();

 

 

 

 

parent::initContent();

$this->setTemplate(_PS_THEME_DIR_.'listado.tpl');

 

}

 

}

 

asi solo aparece una ,no me hace el bucle para leermelas todas,yo supongo que es por culpa de la manera que paso las variablea del php al tpl.Una mano?

Link to comment
Share on other sites

solucionado,os dejo los archivos por si les vale a alguien

<?php

class ListadoControllerCore extends FrontController

{

public $php_self = 'Listado';

public $page_name = 'Listado';

 

public function initContent()

 

{

$directory="Disenos/";

$i=0;

$dirint = dir($directory);

while (($archivo = $dirint->read()) !== false)

{

if (eregi("gif", $archivo) || eregi("jpg", $archivo) || eregi("png", $archivo)){

 

$arr[]=$directory.$archivo;

 

$this->context->smarty->assign('arri', $arr);

 

 

 

 

}

 

 

}

$dirint->close();

 

 

 

 

parent::initContent();

$this->setTemplate(_PS_THEME_DIR_.'listado.tpl');

 

}

 

}

 

 

 

 

 

{capture name=path}{l s='Listado'}{/capture}

{include file="$tpl_dir./breadcrumb.tpl"}

 

 

<h1>{l s='Listado'}</h1>

<div class="rte">

{l s='Hola Mundo'}

<br>

<a href="{$base_dir}cms.php?id_cms=6">prueba2</a>

<br>

 

 

 

<div id='wrapper'>

<div id='header'></div>

<div id='body'>

 

 

{foreach from=$arri item=item}

 

Mi enlace tiene el valor: {$item} </br>

{/foreach}

</div>

<div class='clearfix'></div>

<div id='push'></div>

</div>

 

<div id='footer'><div><p>Footer</p></div></div>

 

 

 

 

 

<a href="subefoto.php">Sube Tu diseño</a>

 

</div>

Link to comment
Share on other sites

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