代码之家  ›  专栏  ›  技术社区  ›  erik

为节点创建视图

  •  0
  • erik  · 技术社区  · 16 年前

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

    内容的路径为“content/”,其中%是节点的标题。 我试图在views2模块中创建一个页面视图,但是没有用。 当我尝试用我的一个节点的名称预览时,没有显示任何内容;当我访问该节点Live时,它会将文本呈现到屏幕上,而不显示任何格式。

    以下是我的视图中的一些设置…如果我需要提供任何额外信息,请通知我!

    页面设置

    路径:内容/ %

    争论

    节点:标题

    • 标题:% 1
    • 参数不存在时要采取的操作:提供默认参数
    • 默认参数类型:来自URL的节点ID

    编辑

    我会描述一下我期待看到的行为…

    我在我的网站上有一个视图中的节点列表……显示时没有任何问题。
    我想做的是单击该节点并转到该节点的页面,该页面基本上是列表中单个项目的扩展视图。

    我想我能做的就是克隆我的列表视图,然后添加一个参数来将范围从一个列表缩减到一个单独的项目,但这并不是很好。设计单个节点的样式的正确方法是什么?

    2 回复  |  直到 16 年前
        1
  •  2
  •   semperos    16 年前

    编辑: 基于您的编辑,您已经使用视图创建了一个节点列表,现在您希望能够单击其中一个并进入节点页面。

    如果您只需要默认的节点输出,那么就不需要做其他任何事情。不要试图使用视图覆盖默认的节点渲染;Drupal将默认打印出来。

    如果要唯一地为节点设置主题(超出了在UI中移动字段和更改显示设置所允许的范围),则应查看自定义模板文件和主题。这里的资源: http://drupal.org/theme-guide

    您可以更改默认值 node.tpl.php 如果要更改所有节点的显示方式,或者可以复制该文件并将其重命名为 node-name_of_custom_type.tpl.php 要唯一地为您创建的自定义内容类型设置主题,但我建议在进行这些更改之前先阅读Drupal主题系统。

    编辑结束


    如果要将路径分配给视图页面显示,则不应在任何现有路径(如您提到的节点路径)之后对其建模。它应该是唯一的,以避免路径别名冲突。例如:

    my-path/%

    现在,如果您只是想在节点中嵌入一个视图(并且您希望将节点ID作为参数传递),那么您就可以做到一半。根据您的描述,您的参数设置是正确的。但是,您不需要页面显示。

    以下是几个选项:

    • 快速变脏: 创建一个块显示(不需要路径)并将该块粘贴到节点页上的一个区域中(我使用了 content_bottom 区域)将其“嵌入”到节点中
    • 强大、灵活: 使用 views_embed_view 功能( api docs here )在节点内部(body或cck字段,只需确保使用“php filter”输入格式)

    如果你使用 视图嵌入视图 ,您可以灵活地将视图结果粘贴到任何您喜欢的地方,甚至不需要创建视图页面或块显示,因为该函数可以只使用“默认”显示。


    注: 如果导出视图并将导出代码保存在类似 pastebin 或 drupalbin ,这里的人可以导入视图并直接查看,以帮助全面详细地回答您的问题。

        2
  •  1
  •   user113292    16 年前

    好了,明白了。:)

    将node:title用作参数非常困难:使用默认设置时,参数必须与标题完全匹配。因此,如果您想在“test value”上匹配,您的路径将需要看起来像content/test%20value(注意上限)。

    这将为您提供所需的节点。您说您已经从url将默认参数设置为node id;这实际上不适用于node:title参数。它所做的是尝试找到一个数字节点ID并将其用作参数,除非节点的标题恰好与节点的ID匹配,否则它将永远不会在node:title上验证。

    如果只想显示所有节点,如果没有标题参数,请选择 显示所有值 当一个参数不存在时要采取的行动。如果要在标题参数无效(如拼写错误或其他)时显示所有节点,请确保 显示所有值 在验证程序字段组中设置,以便在参数未验证时执行操作。

    由于对节点标题的精确匹配限制,通常不建议使用node:title作为参数。相反,考虑使用“content/nid”,其中nid是行节点的节点ID,作为原始视图中的链接,然后使用node:id参数,而不是视图中的node:title参数。这样可以减少出错的可能性。