Как обойти ограничение "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.

Другие вопросы по тегам