0

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

我拥有的是region我的 node.tpl.php 内部,其中填充了显示来自CCKtype 的两个不同字段的内容的块node_reference。这在显示单个节点时工作正常。当我需要使用view.

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

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

4

3 回答 3

1

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

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

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

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

于 2010-02-18T08:13:27.600 回答
1

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

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

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

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

于 2010-04-07T07:35:51.613 回答
0

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

于 2010-02-18T22:41:49.347 回答