0

メインの子供用テンプレート ファイルには、div タグのみを含めたいと思います。各タグは、レンダリングされた子供用ファイルを呼び出して、その中にコンテンツを貼り付けるだけです。(phpの「インクルード」機能のように)しかし、これを行う方法がわかりません。誰かがそれについて何か考えを持っていますか?

4

2 に答える 2

1

最初に「base_layout.kid」テンプレートを定義できます。

<html xmlns:py="http://purl.org/kid/ns#">
    <head>
        <title>App Name - ${page_title}</title>
        <link href="layout.css" type="text/css" rel="stylesheet" />
        ${page_specific_css()}
    </head>

    <body>
        <h1>Now viewing: ${page_title} of App Name</h1>

        <content>Default content</content>

        <div class="footer">Page Footer Text</div>
    </body>

</html>

次に、「page.kid」の「content」タグを必要なデータに置き換えます。

<html py:layout="'base_layout.kid'"
  xmlns:py="http://purl.org/kid/ns#">

    <link py:def="page_specific_css()"
    href="layout.css" type="text/css" rel="stylesheet" />

    <div py:match="item.tag == 'content'">
        <ul>
             <li>Content Item 1</li>
             <li>Content Item 2</li>
             <li>Content Item 3</li>
        </ul>
    </div>

</html>

Python シェルで正しい html を取得するかどうかを確認できます (使用されているすべての識別子を削除した後)。

>>> import kid
>>> t = kid.Template("page.kid")
>>> print t.serialize()
于 2009-07-17T06:08:00.110 に答える
1

デフォルトの kid の代わりに genshi に交換する場合は、include タグを使用してこれを行うことができます。

 <xi:include href="menu.html" />

げんしへの交換はかなり簡単です。構成の問題だけだと思います。テンプレート タグは、それ以外は同じように機能します。ただし、拡張子の名前を .kid から .html に変更する必要があります。

于 2009-05-17T12:18:20.990 に答える