我正在写博客,但我没有使用Drupal的丰富经验(我使用的是Drupal6)。
索引页面应该有一个完整的内容和接下来的10个帖子显示预告的帖子。我想知道如何仅显示第一个已加载节点的完整内容。
我的头撞在键盘上好几个小时了,但我找不到一个简单的解决办法。我试着查看所有的节点,所有的都充满了提示,我试着使用node_view($ defined_vars ->nid),但它似乎进入了一个无限的递归。我在谷歌上搜索了很多,但似乎没有什么能让我满意。
我想我不需要使用View模块,因为我只想在加载节点时将$teaser = true更改为false。
有人对此有想法吗?
谢谢大家!
发布于 2011-04-13 02:01:52
为此,我建议使用Views module。随着您对Drupal的熟悉,熟悉视图也很重要,因为一旦您熟悉了视图,您就会开始发现越来越多的地方可以使用它。
发布于 2011-04-14 00:32:01
就像马特·V说的使用Views module..。但更具体地说..
1)新建一个视图,过滤节点类型=博客,节点发布= yes
2)创建“页面显示”( views UI左侧,选择page -> add display)
3)在页面显示中,设置“每页项目数”为1,行样式设置为node,选择full node。然后设置你的博客"index“页面的URL
4)创建"block display“(视图界面左侧,选择block -> add display)
5)在块显示上,设置每页项目数为10,行样式设置为节点,选择预告。
6)保存视图,转到/admin/build/ block,将博客区块视图添加到内容区域的底部。在区块设置中,(单击“配置”->单选按钮“仅在下面列出的页面上显示”->输入您的博客“索引”URL。
轰隆隆。视图。
因此,总而言之,您将使用views模块创建一个具有2个显示的单节点视图。1个显示是包含1个完整节点的页面,另一个显示是包含10个摘要节点的块。
您可能希望修补两个显示上的排序条件,以及块显示上的offset字段(在“每页项目”设置下)(以便块显示的结果与页面显示的结果不同)。
这家伙做了类似的事情:http://www.designtotheme.com/tutorials/views-and-offsets-grouping-multiple-displays-one-view
祝你好运!
发布于 2011-04-13 03:08:54
视图非常适合您的问题。如果您使用视图,则可以为所有摘要创建一个视图,然后添加完整的节点视图作为视图标题或使用视图主题。视图主题为您提供了很大的灵活性。
如果您希望以编程方式执行所有操作,请尝试执行此操作以加载节点。
$node = node_load($nid);
$content = node_build_content($node);如果这不起作用,请尝试
$node = node_load($nid);
$node = (object)$node; // may need to cast to an object
$content = node_build_content($node);https://stackoverflow.com/questions/5639498
复制相似问题