我对Drupal很新,所以我希望这很简单。
我已经获得了一个模板来剪切并导入到Drupal 7中。
我希望用户为每个特定页面添加任意数量的图像,这样我就可以在“基本页面”内容类型的“管理显示”上启用无限图像字段。
到目前为止,这是完美的,它允许他们选择他们想要附加到页面的一堆图像。
我遇到问题的部分是,当我查看页面时,它与身体内容一起显示。
我拥有的模板,将图像放在HTML的最顶层,将正文内容放在HTML的底部。
我正在使用
<?php print render($page['content']); ?>
在我的page.tpl.php文件中。
有没有办法进一步向下钻取所以它只会在模板的一个部分显示'body',然后在hte模板的另一部分显示图像?
任何帮助都会很棒,我现在已经打了好几个小时了。
干杯,
答案 0 :(得分:2)
我主要使用Drupal 6并没有在Drupal 7中亲自测试过Contemplate,但希望我能为你提供一些从哪里开始的想法。
图像是节点内容的一部分,当然,正如您发现在主题中打印$page['content']
时无法获得任何控制权。向下钻取的艰难之处在于找出所有内容的正确名称,因此我们在Drupal 6中始终用于解决问题的解决方案是Contemplate module。
Contemplate是“内容模板”,通过提供您所追踪的字段的名称以及包含数据的示例节点来帮助您解决此问题,因此您可以浏览它并了解如何选择和选择正确的名字。然后,它允许您保存模板,并在渲染节点内容时使用它。
看起来现在Drupal 7中有Contemplate,当前版本是7.x-1.0-alpha2。在Drupal 6中,Contemplate对我们来说非常棒,所以在Drupal 7中可能值得一试。
答案 1 :(得分:1)
是的D7让这很容易:
<?php print render($content['body']); ?>
以及任何字段:
<?php print render($content['field_my_field_name']); ?>
请注意,您在node.tpl.php而非page.tpl.php
中执行此操作