【環境情報】
・baserCMSのバージョン: 4.5.4
・レンタルサーバー名:ロリポップ
・使用テーマ:Simple Company(4系)
・PHPスキル(自己評価):DかEくらい
BlogのgetEyeCatchを実行すると画像のリンクにパラメーターとして乱数が付いています。
キャッシュ対策だと思うのですが、この乱数を取り除いたリンクを出力させるためにはどうしたらいいのでしょうか。
【環境情報】
・baserCMSのバージョン: 4.5.4
・レンタルサーバー名:ロリポップ
・使用テーマ:Simple Company(4系)
・PHPスキル(自己評価):DかEくらい
BlogのgetEyeCatchを実行すると画像のリンクにパラメーターとして乱数が付いています。
キャッシュ対策だと思うのですが、この乱数を取り除いたリンクを出力させるためにはどうしたらいいのでしょうか。
@krhsn1 コード見たところ乱数がハードコーディングされちゃってるのでサクッとはできないようでした。
現状、プラグインでURLを書き換えるしかなさそうです。
<?php
// /app/Plugin/Sample/Event/SampleHelperEventListener.php
class SampleHelperEventListener extends BcHelperEventListener
{
public $events = ['BcUpload.afterUploadImage'];
public function bcUploadAfterUploadImage(CakeEvent $event)
{
$event->data['out'] = preg_replace('/\?.+?"/', '"', $event->data['out']);
}
}
このファイルを配置してプラグインを有効化してみてください。
いちお、補足いれておきます。
アイキャッチのHTML部分を生成しているのが、BcUploadHelper
というクラスの、uploadImage()
というメソッドが行っているのですが、そこでは、 afterUploadImage
というイベントがあり、出力内容を書き換えるできるようなっていました。
$event->data['out']
に生成されたHTMLが格納されているようでしたので、それを正規表現で書き換えたという感じです。
? からその後の " までを、" に書き換えています。
ありがとうございます。
解決できました!