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 はタイトルを 2 回レンダリングします。タイトルの最初の出現を削除するにはどうすればよいですか?

4

1 に答える 1

1

そのコードで、content-core という名前のスロットを埋めています。テンプレートのベースとなるレイアウトには、いくつかのスロットが定義されています:content-titlecontent-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 に答える