#php #smarty
#php #умный
Вопрос:
Я хочу загрузить этот массив в Smarty в виде таблицы.
Массив:
Array
(
[0] => Array
(
[name] => VS1
[price] => 350
[ram] => 256
[cpu] => 2267
[hdd] => 5
[traff] => 0
[os] => Linux
[country] => Russia
)
[1] => Array
(
[name] => VS2
[price] => 465
[ram] => 512
[cpu] => 2267
[hdd] => 5
[traff] => 0
[os] => Linux
[country] => Russia
)
)
В исходном коде я хочу это
<tr>
<td>VS1</td>
<td>350</td>
<td>256</td>
<td>2267</td>
<td>5</td>
<td>0</td>
<td>Linux</td>
<td>Russia</td>
</tr>
<tr>
<td>VS2</td>
<td>465</td>
<td>512</td>
<td>2267</td>
<td>5</td>
<td>0</td>
<td>Linux</td>
<td>Russia</td>
</tr>
Возможно ли это? Я пытаюсь использовать циклы foreach, но результата нет.
Не могли бы вы дать мне рабочий Smarty-код, пожалуйста?
Ответ №1:
у меня всегда работал foreach. давайте предположим, $smarty
это ваш уже инициализированный и работающий экземпляр smarty 3, а $arr
это ваш массив.
вам нужно присвоить массив smarty в php:
$smarty->assign('arr', $arr);
затем вы выполняете цикл с помощью foreach в шаблоне:
{foreach $arr as $item}
<tr>
<td>{$item.name}</td>
<td>{$item.price}</td>
<td>{$item.ram}</td>
....
</tr>
{/foreach}
Ответ №2:
Это должно сработать 😉
{foreach from=$myArr item="row"}
<tr>
{foreach from=$row item="col"}
<td>{$col}</td>
{/foreach}
</tr>
{/foreach}
Ответ №3:
{foreach from=$myArray item=foo}
<li>{$foo}</li>
{/foreach}
{foreach $arr as $item}
{/foreach}
Обратите внимание на другой способ написания… проверьте правильность вашей версии Smarty.