2010-07-27 118 views
0

我在为我的网站中的节点创建视图时遇到了一些问题。为节点创建视图

内容具有'content /%'的路径,其中%是节点的标题。 我试图做的是在Views2模块中创建页面视图,但无济于事。 当我尝试使用其中一个节点的名称进行预览时,没有任何内容出现,并且当我访问实时节点时,它将文本呈现到屏幕上,而没有任何格式。

下面是一些从我的浏览设置...请让我知道我是否应该提供任何额外的信息!

页设置

路径:含量/%

参数

节点:标题

  • 名称:%1
  • 采取的措施,如果参数是不存在:提供默认值a从URL节点ID

编辑

,我将介绍我期待看到的行为......

我有一个列表:rgument

  • 默认参数的类型在我的网站中的节点在视图中....显示没有任何问题。
    我想要做的是点击节点并转到该节点的页面,该页面基本上是列表中单个项目的展开视图。

    我想我可以做的是克隆我的列表视图,然后添加一个参数来修剪从列表中单个项目的范围,但这不是工作太清楚了。什么是适合单个节点样式的方法?

  • +0

    参数不会影响表示,只是节点是否出现在视图中(并且视图参数是矛盾的),所以我不确定你的问题是什么。它是不是产生了你想要的节点?或者是视图中节点的显示不正确? – 2010-07-27 22:01:19

    +0

    也许它是我对视图模块工作原理的理解。我会用我期待看到的内容更新我的文章,并希望你能纠正我:) – espais 2010-07-27 22:03:18

    回答

    2

    编辑: 根据您的编辑,你已经使用的视图创建节点列表,现在你希望能够点击一个,并获得了节点页面。

    如果你只是想要默认节点输出,你不应该做任何事情。不要尝试使用View来覆盖默认节点渲染; Drupal会默认打印出来。

    如果你想你的主题,独特的节点(超出走动的字段和更改显示设置中用户界面允许你这样做),那么你应该看看自定义模板文件和主题化。资源在这里:http://drupal.org/theme-guide

    您可以更改默认node.tpl.php文件,如果你想改变所有节点的显示方式,也可以复制该文件,重命名为node-name_of_custom_type.tpl.php唯一主题,你已经创建了一个自定义内容类型,但我建议在进行这些更改之前阅读Drupal主题系统。

    编辑


    当你想分配给查看页面显示的路径的结束,则不应它任何现有路径之后进行建模(例如,节点的路径,你提到)。它应该是唯一的,以避免路径别名冲突。因此,例如:

    my-path/%

    现在,如果你只是希望嵌入您的节点内部的视图(并且要沿着节点ID作为参数传递),你中途那里。根据您的描述,您的参数设置是正确的。但是,您不需要显示页面。

    这里有几个选项:

    • 快速“N”脏:创建块显示屏(它不需要路径)和粘块的区域中的节点页面上(我已经使用了content_bottom区)在您的节点,以“嵌入”其
    • 强大,灵活:使用views_embed_view功能(api docs here)的节点(身体或CCK领域里面,只要确保使用“ PHP过滤器“输入格式)

    如果您使用views_embed_view,您可以灵活地将视图结果粘贴到任意位置,而且甚至不需要创建视图页面或块显示,因为该功能可以使用“默认”显示。


    注:如果您导出您查看和保存像pastebindrupalbin站点的出口代码,在这里人们可以导入查看,看看它直接帮助回答的全部细节你的问题。

    +0

    谢谢,我认为用你快速的'n'肮脏的建议将是最容易让我得到它和运行...在未来我可能会看到embed_view,如果我需要做更多,但现在这是OK :) – espais 2010-07-28 09:32:58

    1

    好吧,明白了。 :)

    使用节点:标题作为参数非常棘手:使用默认设置,参数必须完全匹配标题。所以,如果你想匹配“测试值”,你的路径需要看起来像content/Test%20value(注意大小写)。

    这会让你得到你想要的节点。你说你有默认参数设置为来自URL的节点ID;这实际上不适用于Node:Title参数。它所做的是试图找到一个数字节点ID并将其用作参数,除非节点的标题恰好与节点的ID匹配,否则它将永远不会在节点:标题上进行验证。

    如果您只是想显示所有节点(如果没有标题参数),请选择如果参数不存在,则显示所有值。如果要显示标题参数无效的所有节点(如错字或其他),请确保显示所有值在Validator字段组中设置,以便在参数未验证时采取的操作。

    由于节点标题的确切匹配限制,使用Node:Title作为参数通常不是一个好主意。相反,请考虑使用“content/NID”(其中NID是行节点的节点标识)作为原始视图中的链接。然后,使用Node:ID参数代替视图中的Node:Title参数。这应该使它不太容易出错。