Добрый день, есть такая проблема с выводом массива, которую не могу решить. Когда проверяю полученный массив в js. В массиве находится только последний элемент. Как это можно исправить?
<?php foreach ($cities as $city):?>
<?php $a = '../'.$city['domain'];?>
<li><a href=<?php print $a;?>><?php print $city['title']; ?></a></li>
<?php drupal_add_js(array('city_title' => $city['title']), 'setting'); ;?>
<?php endforeach; ?>
Комментарии
Тут вообще весь код непонятно как должен работать. Переменная $city_result не используется и затирается новым значением сразу после создания, а в settings каждый проход значение перезаписывается.
Прошу прощения, лишнее убрал. Это я пробовал и забыл стереть.
Вот это вроде как вообще не имеет смысла:
<?php
drupal_add_js(array('city_title' => $city['title']), 'setting');
?>
Да и эта ссылка как-то странно формируется (в смысле с переходом на уровень/каталог выше):
<?php
$a = '../'.$city['domain'];
?>
Как раз мне нужно передать массив PHP в JS при помощи drupal_add_js.
Ну это не даст эффекта в вашей реализации. Будет только последнее значение из цикла передано в JS.
fairrandir же уже написал:
Ссылка формируется так, потому что я делаю у себя на локальном. Можете не обращать на это внимание.
Одновременно отписали )
<?php
$city_titles = array();
foreach ($cities as $city) {
$city_titles[] = $city['title'];
}
drupal_add_js(array('city_titles' => $city_titles), 'setting'); ;?>
Большое спасибо! То что нужно!