1

我是 Drupal 的新手,我无法在互联网上的任何地方找到答案,甚至无法找到我应该学习的广泛类别以了解它是如何工作的。

在我的页面模板文件中,我看到如下内容:

  <section id="content" class="span<?php print $content_cols ?>">
    <?php print render($page['content']) ?>
  </section>

打印出来的是这样的怪物:

<section id="content" class="span9">
<div class="region region-content">
  <div id="block-system-main" class="block block-system">
    <div class="content">
      <div id="node-46" class="node node-article node-promoted clearfix" about="/node/46" typeof="sioc:Item foaf:Document">
        <div class="submitted">
          <span property="dc:date dc:created" content="2013-04-03T04:17:33+11:00" datatype="xsd:dateTime" rel="sioc:has_creator">Submitted by <a href="/user/1" title="View user profile." class="username" xml:lang="" about="/user/1" typeof="sioc:UserAccount" property="foaf:name">jimjo</a> on Wed, 04/03/2013 - 04:17</span>
        </div>
        <div class="content">
          <div class="field field-name-field-image field-type-image field-label-hidden">
            <div class="field-items">
              <div class="field-item even" rel="og:image rdfs:seeAlso" resource="http://localhost:8888/sites/default/files/styles/large/public/field/image/imagefield_q6bw6x.png?itok=RfIKEaZX">
                <img typeof="foaf:Image" src="http://localhost:8888/sites/default/files/styles/large/public/field/image/imagefield_q6bw6x.png?itok=RfIKEaZX" width="422" height="197" alt="Enim incassum letalis mauris neo praesent quia rusticus venio vero." title="Brevitas esse qui ratis volutpat ymo.">
              </div>
            </div>
          </div>
          <div class="field field-name-body field-type-text-with-summary field-label-hidden">
            <div class="field-items">
              <div class="field-item even" property="content:encoded">
                <p>
                  ARTICLE CONTENT GOES HERE
                </p>
              </div>
            </div>
          </div>
        </div>
      </div>
    </div>
  </div>
</div>
</section>

我想编辑$page['content']渲染的方式,这样我就可以更好地控制类名(并且可能会清除一些不必要的 div)。但是,我想不出一种方法来控制这个输出。

最好的方法是什么?使用自定义模板文件?在某个地方我可以看到 Drupal 用来创建的标记,$page['content']以便我可以将其用作指南并对其进行一些更改?

4

1 回答 1

1

看来您正在寻找node.tpl.php模板。

原始的 node.tpl.php 位于其中,/modules/node/node.tpl.php尽管您肯定会看到您设置的默认主题提供的一个。

覆盖它的最佳方法是node.tpl.php在您的自定义主题中创建一个。

如果您想了解更多模板覆盖的原理,可以使用Theme 开发者模块。

这里也是drupal.org 文档的链接。

于 2013-04-03T07:52:33.557 回答