Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Перебор массива (https://javascript.ru/forum/dom-window/67307-perebor-massiva.html)

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

Цитата:

Сообщение от ureech
Т.е. вся канитель из за этой проверки. В php её нельзя огрганизовать, слишком сложно для картинки.

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

Цитата:

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

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

Цитата:

Сообщение от ureech
Теперь вот надежда на jquery

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

ureech 10.02.2017 19:07

laimas, какой то вы злой сегодня.
Цитата:

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

Нет, и дело не в file_exists(), а в получении id файла.Не заморачивайтесь о php)))

Тег {php} в смарти больше не работает. Про {insert} не знаю.
Цитата:

Сообщение от laimas
а клиент проверяя событие .load(), что не самое ужасное, вынужден делать сетевые запросы

А что на Load() свет клином сошёлся?
Ладно, отбой.Придумаю что нибудь.

laimas 10.02.2017 19:45

Цитата:

Сообщение от ureech
Нет, и дело не в file_exists(), а в получении id файла

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


Часовой пояс GMT +3, время: 23:48.