我正在创建一个博客,但我对Drupal没有太大的经验(我使用的是Drupal 6)。
索引页面应该有一个包含完整内容的帖子,接下来的10个帖子应该显示预告片。我想知道如何显示第一个加载节点的完整内容。
我在键盘上撞了好几个小时,但我无法得到一个简单的解决方案。我试图看到所有的defined_vars并且都填充了预告片,我尝试使用node_view($ node-> nid),但它似乎进入无限递归。我一直在谷歌搜索,但似乎没有什么满足。
我想我不需要使用View模块,因为我只想在加载节点时将$ teaser = true更改为false。
有人对此有所了解吗?
谢谢大家!
答案 0 :(得分:2)
我建议使用Views module。当你熟悉Drupal时,熟悉Views是很重要的,因为一旦你这样做,你就会开始找到越来越多的地方来使用它。
答案 1 :(得分:1)
像Matt V.说的那样,使用Views module ...... 但更具体一点..
1)使用filter node type = blog,node published = yes
创建一个新视图2)创建“页面显示”(视图UI的左侧,选择页面 - >添加显示)
3)在页面显示上将“每页项目数”设置为1,将行样式设置为节点,并选择完整节点。然后设置博客“索引”页面的URL
4)创建“块显示”(视图UI的左侧,选择块 - >添加显示)
5)在块显示上,将“每页项目数”设置为10,将行样式设置为节点,然后选择预告片。
6)保存视图,转到/ admin / build / block,并将博客块视图添加到内容区域的底部。在块设置中,(单击“配置” - >单选按钮“仅在下面列出的页面上显示” - >输入您的博客“索引”URL。
热潮。视图。
总而言之,您正在使用视图模块创建单个节点视图,其中包含2个显示。 1显示是一个包含1个完整节点的页面,另一个显示是一个包含10个预告节点的块。
您可能想要修改两个显示器上的排序条件,以及块显示上的偏移字段(在“每页项目数”设置下)(因此块不显示页面显示的结果相同。
这个家伙做了类似的事情: http://www.designtotheme.com/tutorials/views-and-offsets-grouping-multiple-displays-one-view
祝你好运!!答案 2 :(得分:0)
视图非常适合您的问题。如果使用视图,则可以为所有预览创建视图,然后将完整节点视图添加为视图标题或使用视图主题。视图主题为您提供了很多灵活性。
如果您想以编程方式执行所有操作,请尝试此操作以加载节点。
$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);