Здравствуйте
Столкнулся с проблемой
Передаю параметры в js
<?phpif ($user->uid == 1) {
$dashop_settings["update_loop"] = true;
}
drupal_add_js(array('dashop' => $dashop_settings), 'setting');?>
в самом скрипте есть кусок:
if ( Drupal.settings.dashop.update_loop == "true") {
//action
}
//action
}
В таком варианте перестаёт работать IMCE (ниже вложение), т.е. пропадают кнопки в панели, не работает предпросмотр и вообще любые действия
Как только я комментирую условие "Drupal.settings.dashop.update_loop == "true"" то все начинает работать. В отладчике смотрел, переменная такая есть. Из-за чего это может быть?
Вложение | Размер |
---|---|
![]() | 9.44 КБ |
Комментарии
попробуйте строгое равенство ===, но может дело не в этом? Если в консоли нет ошибок js, то может причина в самом теле вашего if?
Спасибо за совет
Строгое равенство пробовал. Ещё пробовал так
typeof Drupal.settings.dashop.update_loop !== "undefined"
но безрезультатно
«может причина в самом теле вашего if»
Тела нет, всё закомментировано, в консоль ошибки не выводятся.
Если убрать обращение к update_loop то всё начинает работать
// action
}
У вас эта переменная добавляется только для юзера с id = 1, а во всех остальных случаях вы передаете неопределенную переменную, возможно в этом баг? Добавьте проверку на существования свойства объекта в JS.
Спасибо, вы верно заметили что для других пользователей она будет неопределена, это я поправлю.
Но в данном случае я работаю под админом, при пошаговом выполнении видно что update_loop содержит true.
Интересная проблема, если пришлете доступы в личку, постараюсь посмотреть, так сложно гадать конечно что у вас не так.
Спасибо за предложение)
Отправил в личку
Ошибка в консоли, см. скрин (на этом форуме почему-то в личку нельзя прикреплять файлы).
Аааа..
И почему я не догадался открыть лог окна IMCE, всё смотрел в родительском окне...
параметры в js я передаю в хуке hook_preprocess_page, получается он для imce не вызывается
Спасибо!