Массив и html_table

Petroffs

Новичок
Массив и html_table

у меня есть трехмерный массив, из которого я беру данные
(генерирую ссылки) - все это пихаю в ячейки таблицы.. Все
более менее хорошо:
PHP:
<table border="1" width="200"> 
  {section name=outer loop=$linkgen} 
  <tr><td><a href="/{$linkgen[0][outer]}/" style="{$linkgen[2][outer]}">{$linkgen[1][outer]}</a></td></tr> 
  {/section} 
</table>
- вот так все работает
Но в Смарти есть такая штука как
PHP:
{html_table loop=$data}
Так вот - как в эту штуку впихнуть мой массив? И возможно ли
это? Я пробовал 1 вариант, но тогда теория шаблонов не оч.
работает ибо в коде ПХП придется писать ХТМЛ теги...
 

Demiurg

Guest
>Но в Смарти есть такая штука как
давольно бесполезная.
ты скажи, что сделать надо, можно и без этой штуки обойтись.
 

Petroffs

Новичок
а... прошу прощения:) запутался немного!

может оная и бесполезная, но удобная... и хочется в нее вставлять данные... а когда речь заходит, например, о ссылках, где идет имя ссылки, название, стилев. оформление, приходится код увеличивать... вот я и спросил, есть ли в Смарти какие нибудь штуки для работы с массивами данных... для стандартных, типа html_table, функций?

а пока я использую в пхп так:
PHP:
//*.php
while:
$data="<a href=$row[link] style=$row[style]>$row[name]</a>";
endwhile;
а затем вставляю в:

PHP:
//*.tpl
{html_table}
 

Demiurg

Guest
У каждой такой штучки есть свое применение. Помоему все очень просто пищется руками. А вот html в php сувать не стоит.
 

Petroffs

Новичок
Автор оригинала: Demiurg
У каждой такой штучки есть свое применение. Помоему все очень просто пищется руками. А вот html в php сувать не стоит.
ну так я про это и спрашивал... как лучше тут быть?
 

Demiurg

Guest
Покажи пример данных и что надо получить.
 

Petroffs

Новичок
Demiurg
я же написал в начале топика...
генерирую таблицу с сылками...
PHP:
<table border="1" width="200"> 
  {section name=outer loop=$linkgen} 
  <tr><td><a href="/{$linkgen[0][outer]}/" style="{$linkgen[2][outer]}">{$linkgen[1][outer]}</a></td></tr> 
  {/section} 
</table>
- так корректнее будет, нежели в пхп писать хтмл, или есть др. способ в Смарти (более корректный)?
 

Demiurg

Guest
странно, что этот способ работает
ты пробовал с данными в которых больше 2 ссылок ?
 

Petroffs

Новичок
да!! работает как в аптеке, могу более подробно написать
что за $linkgen в пхп...
PHP:
//index.php
$link=array("about_us","help","products");
$name=array("О нас","Помощь","Товары");
$style=array("A","B","C");
$tmp=array($link,$name,$style);
$smarty->assign("linkgen",$tmp);

//index.tpl
{if $linkgen}
<table border="1" width="200">
{section name=outer loop=$linkgen}
<tr><td>
<a href="/{$linkgen[0][outer]}/" style="{$linkgen[2][outer]}">{$linkgen[1][outer]}</a></td></tr>
{/section}
</table>
{/if}
 

Demiurg

Guest
а больше трех ? я ошибся немного.

-~{}~ 24.01.05 14:51:

$i++}
{if $i==2} {assign var=i value=0} {/if}

замени на {cycle values ="0,1"}
 

Petroffs

Новичок
я там забыл убрать
{$i++} {if $i==2} {assign var=i value=0} {/if}
спасибо что заметил (буду знать теперь).. это я тестировал на всяк. пожарный...

PHP:
$link=array("about_us","help","products","news");
$name=array("О нас","Помощь","Товары","Новости");
$style=array("A","B","C","D");
$tmp=array($link,$name,$style,$news);
теперь так будет в пхп, это же из бд формируется...
тока что проверил - работает

-~{}~ 24.01.05 15:09:

В общем - Резюме:
Имеем:
PHP:
//index.php
$link=array("about_us","help","products","news");
$name=array("О нас","Помощь","Товары","Новости");
$tmp=array($link,$name);

$smarty->assign("linkgen",$tmp);
$smarty->display('index.tpl');

//index.tpl
{if $linkgen}
<table border="0" width="200">
{section name=outer loop=$linkgen}
<tr><td bgcolor="{cycle name=i values ="#eeeeee,#dddddd"}">
<a href="/{$linkgen[0][outer]}/" style="menu">{$linkgen[1][outer]}</a></td></tr>
{/section}
</table>
{/if}
так это делается или есть проще способы выкатывать массивы в таблицу, используя Смати?
 

Frol

Новичок
Petroffs
в мануале есть такой крутой раздел про section.
там даже примеры есть.
может прочитаешь его?
 

Petroffs

Новичок
Окей!! Я не больше недели знакомлюсь со Смарти, просто спросил... Изложил своё мнение, так сказать, пойду читать...
Спасибо за помощь!
 

Demiurg

Guest
У тебя в смарти должно получаться 2 итерации.
 

Petroffs

Новичок
Автор оригинала: Demiurg
У тебя в смарти должно получаться 2 итерации.
Простите, терминами не владеем...
А сейчас тогда сколько?
И везде ли должно быть 2 Итерации?
 

Demiurg

Guest
Я имею ввиду сейчас две итерации.
То есть сейчас показываются только 2 строчки, вместо четырех, так ?
 

Petroffs

Новичок
Похоже, я запутался!
можешь мне показать (указать) явно - где 2, а где 4!
 

Demiurg

Guest
В последнем твоем примере сколько ссылок выводится ?
 
Сверху