apostrophe-templates モジュールのこの行では、jquery get 呼び出しが を設定しreq.xhr
、その結果としてrefreshLayout.html
テンプレートが使用されることを示しています。これは、ページ全体を取得しないことを意味します。
しかし、これは制限があるようで、それをオーバーライドする方法が必要です。なぜなら、実際にページ全体をアニメーション目的や jquery を使用したクロール目的で使用したい場合はどうなるでしょうか?
apostrophe-templates モジュールのこの行では、jquery get 呼び出しが を設定しreq.xhr
、その結果としてrefreshLayout.html
テンプレートが使用されることを示しています。これは、ページ全体を取得しないことを意味します。
しかし、これは制限があるようで、それをオーバーライドする方法が必要です。なぜなら、実際にページ全体をアニメーション目的や jquery を使用したクロール目的で使用したい場合はどうなるでしょうか?
ご存じのように、私は P'unk Avenue で Apostrophe の主任開発者を務めています。
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 レイアウトのいずれかを拡張できるようにするのと同じ手法です。