ditolas Posted July 22, 2013 Share Posted July 22, 2013 (edited) 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 July 22, 2013 by ditolas (see edit history) Link to comment Share on other sites More sharing options...
ditolas Posted July 22, 2013 Author Share Posted July 22, 2013 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 More sharing options...
ditolas Posted July 22, 2013 Author Share Posted July 22, 2013 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 More sharing options...
Recommended Posts