Как обойти ограничение "refreshLayout.html" для страницы
В этой строке модуля apostrophe-templates указано, что вызов get из jquery установит req.xhr
и в результате refreshLayout.html
шаблон будет использоваться, а это означает, что вы не получите всю страницу.
Однако это кажется ограничительным, и нам нужен способ переопределить его, потому что, если бы я на самом деле просто хотел, чтобы вся страница была, скажем, в целях анимации или в целях сканирования с использованием jquery?
1 ответ
Как вы знаете, я ведущий разработчик Apostrophe на P'unk Avenue.
Изменить поведение AJAX легко. Просто используйте pageBeforeSend
обработчик в любом модуле для установки свойства в req.data
и в вашем refreshLayout.html
используйте это как аргумент extend
,
// in any module
self.pageBeforeSend = function(req) {
req.data.ajaxLayout = 'modulename:layoutname.html';
};
// in your refreshLayout.html
{% extend data.ajaxLayout %}
Это тот же метод, который позволяет вашим шаблонам страниц или внутреннему макету расширять либо внешний макет, либо макет ajax.