Changes between Version 2 and Version 3 of TracInterfaceCustomization


Ignore:
Timestamp:
12/07/15 15:40:17 (9 years ago)
Author:
trac
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • TracInterfaceCustomization

    v2 v3  
    6868
    6969カスタムスタイルシートへのリンクや、独自のヘッダやフッタを追加したい場合、
    70 以下のようなの内容ファイルを、プロジェクトの `templates/` ディレクトリに `site.html` という名前で作成してください (各 Trac プロジェクトは独自の内容の `site.html` を持つことができます)。{{{/path/to/env/templates/site.html}}} の例: 
     70以下のようなの内容ファイルを、プロジェクトの `templates/` ディレクトリに `site.html` という名前で作成してください (各 Trac プロジェクトは独自の内容の `site.html` を持つことができます)。{{{/path/to/env/templates/site.html}}} の例:
    7171
    7272{{{
     
    107107
    108108
    109 チケット登録のフォームに導入テキストを表示する (プレビューが非表示のとき) 場合は、次の例を追加してください: 
     109チケット登録のフォームに導入テキストを表示する (プレビューが非表示のとき) 場合は、次の例を追加してください:
    110110
    111111{{{#!xml
     
    114114    <p>Please make sure to search for existing tickets before reporting a new one!</p>
    115115  </py:if>
    116   ${select('*')} 
     116  ${select('*')}
    117117</form>
    118118}}}
     
    120120この例では `req.environ['PATH_INFO']` を使用して、特定のビューだけで変更が行われるようにスコープを限定しています。例えば `site.html` でタイムラインだけで変更を行い、他のセクションには影響を及ぼしたくない場合は、 `req.environ['PATH_INFO'] == '/timelime'` を `<py:if>` の test 属性に記載します。
    121121
    122 より多くの `site.html` の例が [http://trac.edgewall.org/wiki/CookBook/SiteHtml CookBook/SiteHtml] で見ることができます。
    123 
    124 `style.css` の例は [http://trac.edgewall.org/wiki/CookBook/SiteStyleCss CookBook/SiteStyleCss] で見ることができます。
     122より多くの `site.html` の例が [trac:CookBook/SiteHtml CookBook/SiteHtml] で見ることができます。
     123
     124`style.css` の例は [trac:CookBook/SiteStyleCss CookBook/SiteStyleCss] で見ることができます。
    125125
    1261260.10 からアップグレードされた Environment で、かつ `site_newticket.cs` ファイルが既に存在している場合は、ワークアラウンドすることによってテンプレートをロードすることができます - !ClearSilver の処理が含まれていない場合に限ります (訳注: `<?cs?>` が含まれていない場合) 。また、この場合はただ一つの要素 (element) だけがインポートされるので、コンテンツはある種のラッパー (`<div>` ブロックやそれに似た親コンテナ) を必要とします。インクルードするためには XInclude の名前空間を指定しなければなりませんが、ドキュメントルート以外にも置くことができます:
     
    129129<form py:match="div[@id='content' and @class='ticket']/form" py:attrs="select('@*')"
    130130        xmlns:xi="http://www.w3.org/2001/XInclude">
    131   <py:if test="req.environ['PATH_INFO'] == '/newticket' and (not 'preview' in req.args)"> 
     131  <py:if test="req.environ['PATH_INFO'] == '/newticket' and (not 'preview' in req.args)">
    132132    <xi:include href="site_newticket.cs"><xi:fallback /></xi:include>
    133133  </py:if>
    134   ${select('*')} 
     134  ${select('*')}
    135135</form>
    136136}}}
     
    213213
    214214しかし、 Trac egg 内部のテンプレートやサイトのリソースは編集しないでください。 Trac を再インストールしたときに、カスタマイズの内容が完全に失われてしまいます。代わりに、以下に挙げる方法のいずれかを使ってください:
    215  * カスタマイズが単独のプロジェクトに閉じているのであれば、テンプレートをプロジェクトの `templates` ディレクトリにコピーしてください
    216  * カスタマイズが複数のプロジェクトに渡るものであるなら、テンプレートを共有のロケーションにコピーし、各プロジェクトからは trac.ini の `[inherit] templates_dir =` オプションで、その位置を指定してください
     215 * カスタマイズが単独のプロジェクトに閉じているのであれば、テンプレートをプロジェクトの `templates` ディレクトリにコピーしてください
     216 * カスタマイズが複数のプロジェクトに渡るものであるなら、テンプレートを共有のロケーションにコピーし、各プロジェクトからは trac.ini の `[inherit] templates_dir =` オプションで、その位置を指定してください
    217217
    218218Trac は以下の順序で、テンプレートファイルを探します。まず、プロジェクトの内部を探し、存在しなければ inherit で指定された場所、最後に Trac egg の内部を探します。
     
    221221
    222222----
    223 See also TracGuide, TracIni
     223See also: TracGuide, TracIni