Drupal:使用参数的动态视图

Drupal:使用参数的动态视图,drupal,views,arguments,drupal-theming,Drupal,Views,Arguments,Drupal Theming,对于当前项目,我需要设置一个特定的视图来显示gallery detailpage。它应该是这样工作的: 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。但是如何让Dru

对于当前项目,我需要设置一个特定的视图来显示gallery detailpage。它应该是这样工作的:

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
是包含链接图像的概览页面,
详细信息
/gallery-n
的详细信息页面

希望你能理解我的意思

编辑


在概览页面上,我有一堆缩略图,每个缩略图都链接到详细信息库(jquery Gallerific)页面。

您可以在自定义模块中尝试类似的内容(或者可能已经有): 在这里,您可以在菜单中设置所需页面的路径,并将其设置为调用函数的回调,然后可以呈现所需内容,或调用所需内容

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更改为模块的名称。调用视图(u build)视图时您可能需要做一些工作,但这应该是一个开始,如果您愿意,您可以再问一些问题,我会帮您解决。

如果我正确理解您的问题,您应该这样做

 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.在需要时使用关系。如果描述不清楚,请填写“免费询问”。

我可能会回答这个问题,但如果您能更详细地了解此详细信息视图的功能,这将非常有用。我们是在传递他们单击的库节点id,还是他们单击的图像,还是哪个?John Fiala,谢谢!请在上面的原始帖子中查看我的更新。如果您还有其他问题,我很高兴听到。好的-您是在设置图像节点,使一个图像映射到一个节点,还是在给定节点上有多个图像?我有一个包含2个图像字段的CCK多组。一个用于缩略图(我使用imagecache作为派生项),一个字段用于原始图像(更大的图像)。每个节点可以有我需要的任意多个组(无限制)。所以我可以回答你们的问题:我在一个给定的节点上有多个图像。希望有帮助?我忘了提到我把路径从/gallery-N/detail改成了gallery/N/detail,这样我就可以提取数字了,希望这不是太大的问题,否则我可以四处走动谢谢你的建议。我试试看:)我不确定我是否理解正确。我必须建立我自己的模块?你确定有效吗?因为第一个参数(
http://example.com/%nid/detail
)的url不能是动态imho。当然可以。为什么不能呢?转到“查看编辑”页面,选择要编辑的图像字段,选中“将此字段作为链接输出”,您将看到用于该链接的文本字段,在该字段下您可以找到参数和其他字段的占位符。使用它们。这对我不起作用。Drupal对我说:“%”不能用于路径的第一段。是的,你是对的不能是第一段。我的描述有误。我很抱歉。但无论如何,这是可行的。您只需要使用这样的路径,或者如果与view1有冲突,请使用并检查此模块的视图别名,它可能对您有用。