カスタムページテンプレートと追加のgetパラメーターを使用してプロジェクトを管理しました。
Template.php:(アクティブなテーマディレクトリ内)
function phptemplate_preprocess_page(&$vars){
if( isset($_GET['ajax']) && $_GET['ajax']=='true' ){
$vars['template_files'][] = 'page-overajax'; # For Drupal 6
$vars['theme_hook_suggestions'][] = 'page-overajax'; # For Drupal 7
}
}
次に、次の内容のテンプレートファイル(page-overajax.tpl.php)をテーマディレクトリに作成しました。
<div id="overlay-content-wrapper">
<?php print $content; ?>
</div>
この後(すべてのキャッシュをクリア)、任意のパス(ページ、ビュー、ノード)を使用?ajax=true
して* boxに渡し、AJAXコンテンツをサポートしている場合はロードすることができます。
fancyboxで使用する場合:
$("a.overajax").fancybox({
'width': 400,
'height': 400,
ajax: {
type : "GET",
cache : false,
url : "user/user-posts?ajax=true",
success: function(data) {
$.fancybox(data);
}
}
});