PCサイトとスマホ(スマートフォン)サイトの画像を切り替える方法(5)

5)controller.phpのキャッシュの修正

●ブロックキャッシュをOFFにする修正(controller.php)
 ※これを変更するためだけに、オリジナルのブロックを作っているようなものなんです。
  ページ単位で、キャッシュをOFFにしておくなら、通常のカスタムテンプレートで、
  画像を切り替えるコードをかいてあげるだけでOKです。(最初はそうしていました)

  しかし、concrete5にはブロック単位でキャッシュをコントロールする機能があるので、
  (この例は単純な画像の切り替え)用途は広いと思います。

 ※キャッシュ制御に関して、詳しくは、本家concrete5日本語サイト
  テーマで叩いたAPIのキャッシュについて
  http://concrete5-japan.org/community/forums/development/post-8796/
  を参照ください。

[修正前] (controller.php・・・一部)
(省略)

class SelectImageByAgentBlockController extends BlockController {

protected $btName = '画像切替(ByAgent)';
protected $btDescription = 'UserAgentによる2種類の画像切替ブロック(DesignerContent)';
protected $btTable = 'btDCSelectImageByAgent';

protected $btInterfaceWidth = "700";
protected $btInterfaceHeight = "450";

protected $btCacheBlockRecord = true;
protected $btCacheBlockOutput = true;
protected $btCacheBlockOutputOnPost = true;
protected $btCacheBlockOutputForRegisteredUsers = false;
protected $btCacheBlockOutputLifetime = CACHE_LIFETIME;

(省略)



[修正後] (controller.php・・・一部)
(省略)

class SelectImageByAgentBlockController extends BlockController {

protected $btName = '画像切替(ByAgent)';
protected $btDescription = 'UserAgentによる2種類の画像切替ブロック(DesignerContent)';
protected $btTable = 'btDCSelectImageByAgent';

protected $btInterfaceWidth = "700";
protected $btInterfaceHeight = "450";

protected $btCacheBlockRecord = true;
// protected $btCacheBlockOutput = true;  ※これで、ブロック毎のキャッシュを制御
protected $btCacheBlockOutput = false;
protected $btCacheBlockOutputOnPost = true;
protected $btCacheBlockOutputForRegisteredUsers = false;
protected $btCacheBlockOutputLifetime = CACHE_LIFETIME;

(省略)

「PCサイトとスマホ(スマートフォン)サイトの画像を切り替える方法(5)」への0件のフィードバック

コメントを残す



(このメールアドレスは表示されません。)


Captcha認証コード

Captchaをクリックすると違う文字候補が出てきます。