对于当前项目,我需要设置特定视图以显示图库详细信息页面。它应该像这样工作:
1. User clicked a node (costum-post-type: gallery)
2. User received an overview page with linked images
3. User clicked an image
4. User received the gallery page (gallerific view)
完成步骤1-3。但是如何让Drupal使用概述页面的数据构建详细信息页面?
例如:http://example.com/gallery-1/detail
或http://example.com/gallery-2/detail
。
/gallery-n
是包含关联图片的概述页面,detail
是/gallery-n
的详细信息页。
希望你明白我的意思?!
修改
在概述页面上,我有一堆缩略图,每个缩略图链接到详细信息库(jquery galleriffic)页面。
答案 0 :(得分:1)
你可以在你制作的(或者已经有的)自定义模块中尝试这样的事情: 在菜单中设置所需页面的路径,并将其设置为调用函数的回调,然后您可以渲染任何想要的内容,或者调用您想要的任何内容。
function MODULENAME_menu() {
$items = array();
$items['gallery/%/detail'] = array(
'title' => 'Gallery Detail',
'page callback' => 'MODULENAME_gallery_detail_page',
'page arguments' => array(1),
'access callback' => TRUE,
'type' => MENU_CALLBACK
);
return $items;
}
function MODULENAME_gallery_detail_page($gallery_id) {
// Here you can render the view as a page, using the gallery
// id which you passed as a parameter to this function.
// So Change MYCUSTOMVIEW to the view you want to render
$view = views_get_view('MYCUSTOMVIEW');
print views_build_view('page', $view, array(), false, false);
}
只需使用模块名称更改MODULENAME即可。你可能需要在调用views_build_view时做一些工作,但它应该是一个开始,如果你愿意,你可以再问一些问题,我会帮忙。
答案 1 :(得分:1)
如果我理解你的问题,你应该做这件事。
1. Create view1 for page with linked images. It should be page display with http://example.com/images/%nid
where %nid is nid argument of gallery.
2. Create view2 for gallery detailed page. it should be page display with http://example.com/%nid/detail
3. Theme that views as you want.
4. For view1 for image field use override output in field settings to make it links to %nid/detail
P.S。在需要时使用关系。如果说明不明确,请随意填写。