我创建了一个名为Homepage的新内容类型,其中包含许多字段。这些字段是对Single Image Promo内容类型的节点引用。单个促销盒包含标题,文本和图像的字段。我的想法是,我可以创建单个促销盒的多个副本,每个副本具有不同的字段值。然后我想在主页上放置一些。
所以我现在可以在主页上放置一个特定的单一图像促销。但是,在主页上的节点参考时,我需要创建哪个模板文件来设置Single Image Promo的显示方式?
谢谢, 玛利亚
答案 0 :(得分:1)
听起来你已经过度复杂了。
如果您想在主页上创建一些不同的框,使用节点参考不是正确的方法。有几种不同的方法可以做你想要的,最简单的我可能是创建你想要显示的节点的块视图。当您将节点转换为块时,您可以将其放置在任何主题定义的区域中。
你也可以创建一个视图,然后从那里获得你想要的不同的单一图像促销,而根本不使用节点参考。视图有许多不同的过滤器,这些过滤器可以创建始终显示正确节点的视图。如果您想将节点放在不同的区域,这个解决方案将无法正常工作。
要回答您的问题,在显示节点时,默认情况下会使用node.tpl.php
模板文件进行渲染。要为每个节点类型创建特定模板,可以创建名为node-nodetype.tpl.php
的新模板,其中nodetype是您在创建时称为节点类型的模板。
答案 1 :(得分:0)
node-nodetype.tpl.php可以在一定程度上工作,但是在该文件中,您正在为整个页面设置样式,内容类型的字段通过单个$ content变量批量传递到tpl。也许这对你来说已经足够了,但如果你需要更细粒度的控制:
您可以使用内容模板(考虑)模块编辑和设置单个内容类型的字段。它提供对$ content变量中所有内容类型字段的访问(批量传递给node-nodetype.tpl.php。考虑是php,因此您可以为节点引用字段添加逻辑和条件格式(通常在考虑中明确标注。)
并且不要忽略内容类型的“显示字段”选项卡(管理字段选项卡旁边)的简单解决方案,您可以在其中控制一些字段输出。