Drupal:显示视图页面而不是默认节点/%

时间:2014-12-06 17:45:00

标签: drupal drupal-7 drupal-views drupal-theming

案例是我使用视图来显示每个内容类型。

例如。 q =?news / 12获取nid的新闻     q =?product / 13 for nid产品

问题是当我创建(或编辑)新内容时,它会自动显示(或引用)?node / 14而不是?product / 14。此外,菜单链接在node / 14链接下创建。

如何将每个视图设置为引用内容类型?

提前致谢。

1 个答案:

答案 0 :(得分:5)

您可以为每种内容类型创建一个视图(显示模式:页面),该视图显示节点中的数据(字段或您需要的任何内容)。为此,请在视图中添加上下文过滤器,在内容nid上,提供默认值:来自url的内容nid。然后给这个视图一个像" / news /%"的网址。所以" / news / 12"点击此视图并从ID为12的新闻内容类型中抓取数据。然后您可以手动修改菜单链接,或使用pathauto指定/ news / [node:nid]作为所有新闻节点的模式(我从未尝试过所有这些内容在一起,但它应该工作)。

其他解决方案:https://www.drupal.org/project/contemplate(似乎已弃用......)

其他解决方案:为您的内容类型节点创建一个.tpl:node - news.tpl.php,但不再有视图......

其他解决方案:创建一个显示一个特定节点数据的视图(就像我先用上下文过滤器解释一样),这个视图创建一个块(显示模式:块),你将这个块分配给一个区域(带有块接口),并将此块设置为仅显示新闻内容类型(块配置页面左侧的最后一个菜单)。然后使用Display Suite,您可以在完整内容显示中隐藏此内容类型的所有内容。所以在每个节点页面上引用一个" news"节点,您的页面中没有任何内容,但是您的块(以及节点标题,您可以使用显示套件附加内容删除它)。

祝你好运