0

onPrepareContent()イベントを利用する Joomla プラグインに取り組んでいます。ただし、キャッシングが有効になっていて、コンテンツがキャッシュされている (つまり にある) 場合、このイベントはディスパッチされないcache/com_contentことがわかりました。

記事がキャッシュされている場合でも、記事の表示に対してどのように行動し、記事のデータを利用できるようにするには? (最後の条件を指定しているのは、それ以外の場合は、システム イベントを使用することができるためです。たとえば、 onAfterRoute() など)

4

2 に答える 2

1

キャッシュの背後にある考え方は、データが一度取得され、何度も提供されるため、キャッシュの読み込み中はどこでも利用できないということです。したがって、プラグインでonAfterRoute() などの別のイベントを使用してデータベースにアクセスし、記事を読み込むことができますが、もちろんサイトの速度が低下しており、おそらく ajax ブラウザー ベースの代替手段で同じ目的を達成できます (明らかにしていない)。

別の方法は、限られた数の記事でのみこれを達成したい場合は、Joomla に強制的に記事をキャッシュさせないようにすることですが、これにはコア ハックが必要になる可能性が高く、上で書いたようにプラグインを使用するよりも高速ではありません。

于 2013-06-04T07:39:35.563 に答える
0

Joomla 3.4.0 で、コンテンツ プラグインでシステム イベントを使用しようとしましたが、コンテンツがキャッシュされているときにシステム イベントが発生しません。ページが最初に読み込まれてキャッシュされるときに 1 回だけ。その後、彼らは再び発砲しません。コンテンツプラグインは、ページに含まれるイベントが何であれ、ページがキャッシュされているときにのみ呼び出されると思います。

于 2015-03-25T17:05:48.120 に答える