通知ブロックからキャッシュ時間を無効/軽減する方法
-
13-12-2019 - |
質問
私は数分前にモジュールを作成し、RSSフィードから情報を引き出し、管理パネル通知受信トレイとツールバーに表示されます。
これは完璧ですが、残念ながら、更新したときに新しいメッセージをロードしません。Magentoのキャッシュをフラッシュしてから、新しいメッセージをロードするために更新する必要があります。
通知モジュール/ブロックのキャッシュを無効にしたいので、ページがロードされるたびにすべての新しいメッセージをロードできます。
このコード行を疲れていますが、うまくいかないようです。
<reference name="notification_toolbar">
<action method="setCacheLifetime"><s>0</s></action>
</reference>
.
私はこれが機能することを期待していません。情報を生成するものではないので、表示するだけです。
誰かがこのモジュール/ブロックからキャッシュを無効にする方法について教えてください。
ありがとう。
解決
私は自分でそれを考え出した!
いくつかのコードを通して、私はそれが更新周波数タイマーを持っていることを認識しているので、私は管理パネルのシステムセクションを見て、構成=> システム=> 通知。残念ながら、それが 1時間であることが最も少ない。
Mageフォルダを通過し、時間を提供する次のことがわかりました。
MAGE / ADMINHTML / MODEL / SYSTEM / CONFIG / SOURCE /通知/周波数.php
class Mage_Adminhtml_Model_System_Config_Source_Notification_Frequency
{
public function toOptionArray()
{
return array(
1 => Mage::helper('adminhtml')->__('1 Hour'),
2 => Mage::helper('adminhtml')->__('2 Hours'),
6 => Mage::helper('adminhtml')->__('6 Hours'),
12 => Mage::helper('adminhtml')->__('12 Hours'),
24 => Mage::helper('adminhtml')->__('24 Hours')
);
}
}
.
次にフォローコードを追加し、いくつかのテストを実行しました。
0 => Mage::helper('adminhtml')->__('0 Minute'),
.
私が正しくそれをやったかどうかはかなりないが、それは私がそれを必要とするものを正確にします。 それから私はそれを完成させるために私のモジュールでこれを上書きします。
他の人に役立つことを願っています!
他のヒント
なぜこれが一般的に更新されたいのですか、それがあなたの受信箱を吸い込まないのですか?
あなたには2つのオプションがあるかもしれません、あなたはこのキャッシュをクリアするイベントオブザーバを書くことができます。admin_notifications_lastcheckは、通知について見つけることができるキャッシュタグです。
他のオプションは、Core / AdminNotification / model / feed.phpでSetLastUpdate関数の書き換えを書くことで、キャッシュの寿命を実際に短くすることです。
私はそれを試してみなかったし、私は急いでいますが、私はそれを共有するべきだと思ったと思った答えがないので。明日もっと情報を追加することができます。