1

さて、私は最近、magentoでのブロックキャッシングを検討しています。ページのレンダリングを高速化するための本当に素晴らしい方法のように見えますが、それはまた、ちょっとした苦痛のようにも見えます。

たとえば、カテゴリブロックをキャッシュするには、適切に実行するために多くの操作が必要になるようです。また、おそらく可能性のあるブロックキャッシングを利用しないコアブロックがたくさんあります。このような場合、開発者は、ブロックキャッシングを有効にするために、単一のモジュールを作成してから、これらのコアブロックをすべて書き直す必要がありますか?

この主題に不慣れな人のためのブロックキャッシングに関する他のヒントはありますか?

4

2 に答える 2

7

ブロックキャッシングは(ほとんどの場合)PHPレベルで実装する必要はなく、XMLで実装できます。すでに存在するブロックのキャッシュを有効にするには、ブロックを開いてから、次のように呼び出しを<reference />使用して適切なデータを設定する必要があります。<action />

<reference name="myblock">
    <action method="setCacheLifetime"><seconds>1800</seconds></action>
    <action method="setCacheKey"><key>my-unique-cache-key</key></action>
</reference>
于 2012-06-11T09:23:20.983 に答える
0

必要に応じて、PHPでブロックキャッシュを実行できます。キャッシュ管理は、ブロックのコンストラクターで作成する必要があります

https://magento2.atlassian.net/wiki/display/m1wiki/How+to+use+HTML+output+cache+in+Magento+1.x

protected function _construct() {
 $this->addData(array(
  'cache_lifetime' => 3600,
  'cache_tags'     => array(Mage_Catalog_Model_Product::CACHE_TAG),
  'cache_key'      => $this->getProduct()->getId(),
 ));
}
于 2017-06-06T03:21:39.997 に答える