2016-05-11 7 views
1

レンダリングのマークアップの中に、Bundles.Referenceを使用して一連の.lessファイルへの参照を追加します。このコンポーネントでキャッシュを有効にすると、少ないファイルは<head>に追加されません。Sitecore cacheable&Cassette

@model Sitecore.Mvc.Presentation.RenderingModel 
@{ 
    Bundles.Reference("~/resources/less/interior", "header"); 
} 
+0

、コードは(最初の時間の後に)もう実行されませんので、それはありません、あなたの参照はもう追加されていないことを普通のことですか? – Gatogordo

+0

あなたは正しいです。私はどのように結果をキャッシュし、現在の実装を維持するかを理解しようとしています。 –

答えて

0

あなたは、両方のキャッシュ(出力キャッシュを)持っているし、あなたのコードが実行されることを期待することはできません。だからどちらかをキャッシュして、そのコードを別の場所に置く必要があります。または、キャッシュを出力しません。しかし、(出力)キャッシュとコードの実行は相互に排他的です。

+0

もちろん、できます。私は今すぐ解決に取り組んでいます。 –

+0

別のレンダリングを追加したので、私が言ったようにコードを実際に "どこか別の場所に"移動しました;) – Gatogordo

+0

あなたは正しいことになりました。私は半分それを実現しました;-)。いずれにせよ、うまくいきました。私たちはサイト全体で無限の実装を変更する必要はありませんでした。 –

1

カセットのRenderingsをビューアレンダリングに移動します。

@Bundles.RenderStylesheets("global") 
@Bundles.RenderStylesheets("header") 
@Bundles.RenderScripts("global") 
@Bundles.RenderScripts("header") 

サイトコアにこのレンダリングを追加します。このscreenshotのように。

レンダリングをレイアウトに追加します。これはページヒットでキャッシュします。あなたはキャッシュを有効にした場合

@Html.Sitecore().Rendering("<your rendering definition item id>", new { Cacheable = true, CacheKey = "my_rendering", Cache_VaryByData = true }) 
関連する問題