1

我想自定义如何生成我的 Dexterity 内容类型标题的 HTML。

我为使用 metadata.IBasic 行为的类型编写了一个视图模板:

<html ...>
  <body>
    <metal:content-core fill-slot="content-core">
      <metal:content-core define-macro="content-core">
        <div id="conent-images">...</div>
        ...
        <div id="content-metadata">
          <h1 tal:content="context/title">Title</h1>
          ...
        </div>
        ...
        <div id="content-body">...</div>
      </metal:content-core>
    </metal:content-core>
  </body>
</html>

但是 Plone 然后将标题呈现两次。如何删除标题的第一个幻影?

4

1 回答 1

1

使用该代码,您将填充名为 content-core 的插槽。在作为模板基础的布局中定义了几个插槽content-title: 、content-descriptiony content-core

要删除第一个标题幻影,您可以用空填充该content-title插槽。

<html ...>
  <body>
    <metal:content-core fill-slot="content-title">
      <metal:content-core define-macro="content-title">
      </metal:conent-core>
    </metal:conent-core>
    <metal:content-core fill-slot="content-core">
      <metal:content-core define-macro="content-core">
        ...
        <h1 tal:content="context/title">Title</h1>
        ...
        <div id="content-body">...</div>
      </metal:content-core>
    </metal:content-core>
  </body>
</html>

其他解决方案是编辑定义插槽的模板,但这个解决方案对我来说已经足够了。

于 2013-02-25T15:34:10.673 回答