5

イベント時に HTML キャッシュがクリアされるように、サイトのリストにサイト名を追加しようとしていますpublish:end:remote

<event name="publish:end:remote">
  <handler type="Sitecore.Publishing.HtmlCacheClearer, Sitecore.Kernel" method="ClearCache">
    <sites hint="list">
      <site patch:after="*[@site]">mysite</site>
    </sites>
  </handler>
  <handler type="Sitecore.Publishing.RenderingParametersCacheClearer, Sitecore.Kernel" method="ClearCache"/>
</event>

ただし、期待どおりに機能していません。私はグーグルで調べましたが、要素の前後にパッチを適用する方法について何も見つかりませんでした。ほとんどの例は on/before 属性などです。

ありがとう。

4

4 に答える 4

8

属性のないノードにパッチを適用する場合は、比較するノードの text() を選択できます。前または後。この例を参照してください:

<configuration xmlns:patch="http://www.sitecore.net/xmlconfig/">
  <sitecore>
    <events timingLevel="custom">
      <event name="publish:end:remote">
        <handler type="Sitecore.Publishing.HtmlCacheClearer, Sitecore.Kernel" method="ClearCache">
          <sites>
            <site patch:before="site[./text()='website']">plop3</site>
          </sites>
        </handler>
      </event>
    </events>
  </sitecore>
</configuration>

あなたの問題に対する別のアプローチ。パッチの削除を使用すると、リストをクリアして、リストを最初から作成できます。

<configuration xmlns:patch="http://www.sitecore.net/xmlconfig/">
  <sitecore>
    <events timingLevel="custom">
      <event name="publish:end:remote">
        <handler type="Sitecore.Publishing.HtmlCacheClearer, Sitecore.Kernel" method="ClearCache">
          <sites hint="list">
            <patch:delete />
          </sites>
          <sites hint="list">
            <site>website</site>
            <site>anotherwebsite</site>
          </sites>
        </handler>
      </event>
      </events>
  </sitecore>
</configuration>
于 2015-11-20T08:32:32.883 に答える