【问题标题】:Drupal: Content in blocks from node_reference fields?Drupal:来自node_reference字段的块中的内容?
【发布时间】:2010-02-17 14:30:25
【问题描述】:

在使用 Drupal 仅几周后,我就遇到了一个反复出现的问题,我并没有真正的最佳解决方案,所以我希望这里的人能够提供一些最佳实践指针。

我的 node.tpl.php 中有一个region,其中填充了显示来自node_reference 类型的两个不同CCK 字段的内容的块。这在显示单个节点时工作正常。当我需要使用view 时出现问题。

例如,假设我有一个新闻列表和一个新闻项目视图。当我显示单个新闻项目时,我可以使用新闻节点node_reference 字段来引用我想在我的侧边栏中拥有的任何材料,但是在新闻列表视图中我想单独引用节点。解决此问题的最佳做法是什么?

我有一些想法,但似乎都不是合乎逻辑的选择,你会怎么做?

【问题讨论】:

    标签: drupal drupal-views drupal-blocks


    【解决方案1】:

    我对您的问题的理解是,您不希望块显示在视图页面上,并且希望块信息与节点内联显示。

    第一部分很简单,您可以修改块可见性设置,使其不显示在您拥有视图的路径上。

    第二部分取决于您如何设置视图。如果您使用字段,您可以简单地为 node_reference 添加字段,它们应该会显示出来。如果您使用的是节点视图,则必须覆盖模板并创建一个显示节点引用字段的模板。

    如果您想进一步解释,请发表评论,我可以澄清

    【讨论】:

      【解决方案2】:

      阅读我的问题后,我意识到它的解释很糟糕,所以我会再试一次,并告诉我我是如何解决的。

      问题
      在正常的“页面”上(仅显示单个节点时),我有一个侧边栏,显示类似于横幅的内容,它们要么是随机的,要么我可以选择一个或多个应始终显示在侧边栏上的内容。使用 CCK node_reference 字段显示单个节点时,这很容易解决。问题是在使用显示多个节点的视图时,例如新闻列表-

      解决方案
      在我的情况下,我可以通过在我的默认页面内容类型上创建其他字段来解决这个问题。这些字段被称为viewdisplayarguments。然后,在我的tpl.php 中,我将新闻列表视图嵌入到一个页面中,我们称之为新闻。通过这种方式,我获得了极大的灵活性,并且还帮助新闻页面了解它在菜单结构中的位置。

      决赛
      我还没有发现这样做是否有任何缺点或危险,但如果有,请随时与我分享:)

      【讨论】:

        【解决方案3】:

        我倾向于创建自己的模块,这些模块创建块并直接引用数据库。然后我将块放在面板内,这对我来说似乎比使用视图和 cck 字段等更灵活......

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2012-08-22
          • 1970-01-01
          • 1970-01-01
          • 2011-07-08
          • 1970-01-01
          • 1970-01-01
          • 2020-04-03
          相关资源
          最近更新 更多