sfLightboxPluginとキャッシュ
sfLightboxPluginを使って画像を表示させてるページをキャッシュすると
キャッシュが無い場合だと普通にjavascriptが動くけど、
キャッシュが有る場合だとキャッシュ画像を参照しちゃってlightboxが動いてくれない。
どうしたもんか。キャッシュ使わないようにするしか無いのかな。
コードはこんな感じです。
- sfLightboxPlugin
symfony plugin-install http://plugins.symfony-project.com/sfLightboxPlugin
<?php use_helper('Lightbox'); echo light_image( 'http://yourdomain.com/images/foobar_medium.jpg', 'http://yourdomain.com/images/foobar_large.jpg', array('title' => 'foobar') ); ?>
- cache.yml
_lightbox_show: enabled: true contextual: true lifetime: 86400
追記
id:brtRiverさんがコメントしてくれているようにaction内でsfLightboxPluginが呼び出しているリソースを追加してやれば画像をキャッシュした状態でもLightboxが動いてくれました。
action内に追加
<?php // Lightbox specific $response = $this->getResponse(); $response->addJavascript(sfConfig::get('sf_prototype_web_dir'). '/js/prototype'); $response->addJavascript(sfConfig::get('sf_prototype_web_dir'). '/js/effects'); $response->addJavascript(sfConfig::get('sf_lightbox_js_dir'). 'lightbox.js'); $response->addStylesheet(sfConfig::get('sf_lightbox_css_dir'). 'lightbox.css');