8

外部JavaScriptCSSファイルがあります。このファイルを自分のページに追加する方法がわかりません。CTとPTの両方にDWTTBBを使用しています。

とりあえず出力を取得するために、ページTBBに内部CSSを書き込んでいます。しかし、JavaScriptを実装する方法がわかりません。誰かが私を助けることができますか?

これらのファイルをコンポーネントとして作成し、ページにレンダリングする必要がありますか?これは正しい方法ですか?はいの場合、従うべき手順を教えてください。

4

2 に答える 2

11

これは幅広い議論のトピックです。さまざまな可能性の概要を説明します。

  1. CSSとJSをバイナリコンポーネントとして作成し、DWTテンプレートからこれらにリンクします
  2. CSSとJSをバイナリコンポーネントとして作成し、サーバーにDCPとして公開し、URLをバイナリにリンクします
  3. CSSとJSをテキストコンポーネントとして作成し、ページに配置し、サーバーに公開し、URLをページにリンクします
  4. CSSとJSを配信サーバー(Tridionではない)にコピーし、URLでcssとjsにリンクします

オプション#1が最も簡単ですが、かなりの欠点があります。

  • 必要なCSSファイルとJSファイルを使用してTridionでマルチメディアコンポーネントを作成します。
  • URIを書き留めてから、DWTで次のようなものを使用します。
<link href="tcm:27-2762" rel="stylesheet" type="text/css" />
<script src="tcm:27-2763" type="text/javascript"></script>

テンプレートがデフォルトの終了アクションビルディングブロックを使用している場合、Tridionはそれらのバイナリへの参照を解決し、ページで公開します。これには、これらのバイナリが同じテンプレートを使用するすべてのページで公開されるという副作用があります。

オプション#2では、動的コンポーネントテンプレートを作成する必要があります。場合によっては、ファイルの公開先を決定するためのコードを使用する必要があります。これは私が通常実装しているものとより一致していますが、現時点ではこれを行うことはお勧めしません。Tridionの知識を深めるにつれて、自分でこれを行うのに十分な快適さを感じるようになります。このオプションを使用すると、CSS / JSファイルを特定の場所に公開し、DWTで参照を使用して、TCM URIを使用する代わりに(上記のように)ファイルが公開されるURLを使用できます。

オプション#3では、「コードコンポーネントとテンプレート」を作成する必要があります。これは、CSSまたはJSのコンテンツをコピーして貼り付ける大きなテキストフィールド(リッチテキストではない)が1つだけある単純なスキーマを意味します。次に、コンテンツをそのまま出力する単純なコンポーネントテンプレートを作成します。のようなもの@@Fields.Code@@。最後に、1つのDWテンプレートのみを使用して2つのページテンプレート(1つは拡張子.js、もう1つは拡張子.css)を作成します。

<!-- TemplateBeginRepeat name="Components" -->
@@RenderComponentPresentation()@@
<!-- TemplateEndRepeat -->

最後に、そして間違いなく重要なことですが(この猫のスキンを作成する方法はたくさんあります)、これらのCSS / JSファイルをWebサーバーに直接配置し、これらのファイルが利用可能なURLへのリンクをDWTに追加できます。

これがあなたにいくつかのオプションを与えることを願っています。CSS / JSを含めること<head>は、コンポーネントテンプレートではなく、ページテンプレートレベル(理想的にはページの一部)で行う必要があることに注意してください。

于 2012-05-11T17:44:27.067 に答える
5

これを説明するビルディングブロックからの記事の素晴らしいシリーズがあります

これらのリンクをチェックしてください:

  1. http://blog.building-blocks.com/publishing-code-files-from-sdl-tridion
  2. http://blog.building-blocks.com/css-in-sdl-tridion-part-2-handling-image-references
  3. http://blog.building-blocks.com/tridion-tbb-automatically-minify-css-javascript-on-publish

物事を本当にシンプルにしたい場合(ただし、ページを公開するたびにCSSまたはJSが再公開されるため、これはお勧めしません)。CSSをマルチメディアコンポーネントとして保存し(そしてそのURIを書き留めて)、DWTページレイアウトで次のように参照できます。

<link rel="stylesheet" href="tcm:1-2-16" />

    or

<script type="text/javascript" src="tcm:1-2-16"></script>

次に、デフォルトの終了アクションを使用して、バイナリが公開され、リンクが解決されていることを確認します。

于 2012-05-11T16:30:56.883 に答える