Вход

Просмотр полной версии : Перебор массива


ureech
09.02.2017, 21:41
Всем привет. Из php в смарти шаблон приходит переменная, содержащая массив.
$recept = Array ( [0] => Array ( [id] => 212 ...) [1] =>Array(...)...)
В шаблоне для неё используется цикл
<ul>
{foreach key=tid item=item from=$recept}
<li>{$item.title}</li>
{/foreach}
</ul>
Нужно в <li></li> вставить картинку, которая лежит по адресу, связанному с $item.id
<img src="/images/{$item.id}.jpg" />
И сделать проверку на её существование. Т.е. вся канитель из за этой проверки. В php её нельзя огрганизовать, слишком сложно для картинки. Проверить в цикле смарти,тоже не выходит.Не нашли данной фичи у смарти. Теперь вот надежда на jquery. Хочу попробывать полулучить в js массив с <img src="/images/{$item.id}.jpg" /> и проверять есть или нет картинка.Если есть вставлять её. Возможно ли это решить? С масивами не очень дружен.

laimas
10.02.2017, 04:53
Т.е. вся канитель из за этой проверки. В php её нельзя огрганизовать, слишком сложно для картинки.

Это с чего вдруг такие сложности? Что file_exists() уже не котируется и до передачи в шаблон этого сделать нельзя?

Не нашли данной фичи у смарти.

А {php}{/php} или {insert} чем не угодил?

Теперь вот надежда на jquery

Ну да, теперь пусть клиент отдувается за то, что обязан делать сервер. А вы не думаете о том, что сервер производя эти операции будет работать с локальным каталогом, а клиент проверяя событие .load(), что не самое ужасное, вынужден делать сетевые запросы, что самое ужасно, если они зря?

ureech
10.02.2017, 19:07
laimas, какой то вы злой сегодня.Это с чего вдруг такие сложности? Что file_exists() уже не котируется и до передачи в шаблон этого сделать нельзя?
Нет, и дело не в file_exists(), а в получении id файла.Не заморачивайтесь о php)))

Тег {php} в смарти больше не работает. Про {insert} не знаю.
а клиент проверяя событие .load(), что не самое ужасное, вынужден делать сетевые запросы
А что на Load() свет клином сошёлся?
Ладно, отбой.Придумаю что нибудь.

laimas
10.02.2017, 19:45
Нет, и дело не в file_exists(), а в получении id файла

И в чем заключается трудность?