Добрый день! Есть такой модуль, ajax pages, очень понравился, но почему то у меня он не работает, точнее работает только при клике первый раз, страница загружается ajax'ом при втором клике на любую сслылку не работает. В консоль сыпятся ошибки:
Safari
Mozilla Firefox (firebug)
По запросу в гугле "Drupal.settings.urlIsAjaxTrusted[element_settings.url]" ничего толкового кроме информации, что это новшество появилось в 7.39.
Может кто сталкивался с подобными ошибками, куда копать?
UPDATE! Нашел на Drupal.org
Major changes since 7.38:
The Ajax system now validates URLs before making an Ajax request. Existing code which uses the Drupal Ajax API in any of the standard ways should continue to work after this update. In the event you have unusual Ajax code which does not work with Drupal 7.39, you can have your code manually validate the URL in one of two ways. Either add the URL to the "urlIsAjaxTrusted" JavaScript setting (see ajax_pre_render_element() for an example) or call ajax_set_verification_header() in the Ajax callback function to mark the current URL as trusted. Only do this for URLs that you actually trust; Ajax requests in Drupal should never be made to untrusted URLs.
Буду копать дальше.
Ответы
Решил проблему! Дело в том, что в модуле, файле ajax-pages.js был переопределен кусок с Drupall.settings и в нем благополучно нету urlIsAjaxTrusted, который появился в 7.39.
Добавил пару строк и все заработало :) Может пригодится.
/**
* Custom Ajax command to set Drupal.settings.
*/
Drupal.ajax.prototype.commands.ajaxPagesSettings = function(ajax, response, status) {
// Replace Drupal.settings with the supplied settings array while preserving
// the ajaxPageState object.
var ajaxPageState = Drupal.settings.ajaxPageState,
urlIsAjaxTrusted = Drupal.settings.urlIsAjaxTrusted;
Drupal.settings = response.settings;
Drupal.settings.urlIsAjaxTrusted = urlIsAjaxTrusted;
Drupal.settings.ajaxPageState = ajaxPageState;
}
Оффтоп: Приятно удивлен отладчиком JS в Firebug никогда не пользовался до этого им.
Патчик то почему поленился сделать? =)
Отправил в issue патч https://www.drupal.org/node/2571447#comment-10350077
попробуй примени патч на чистый модуль и измени статус на Reviewed and tested в issue если все ок =) явно у всех проблема будет, так что полезно
Спасибо большое за помощь, хотел сам сделать, просто срочно делаю заказ.
маленькая победа https://www.drupal.org/node/2571447 =) патч ушел в релиз 1.1 можно обновляться
Уже :)
Не ответ, но может попробовать Views Infinite scroll?
Это совсем другое.