baserCMSでは、4系から各コンテンツ別にアイキャッチ画像を設定することができます。
その利用方法について載せときます。
各ページ、フォルダ、ブログコンテンツやメールフォームの「オプション」タブ内に存在するアイキャッチ画像を、公開側で表示させたいときにご利用ください。
想定している対象者
- baserCMSでウェブサイトを制作をしている方
- PHPer
環境
- baserCMS 4系
表示方法
レイアウトファイル等にこんな感じで書くと良いです。
<?php echo $this->BcUpload->uploadImage('Content.eyecatch',
$this->request->params['Content']['eyecatch'],
array(
'imgsize' => '', // 画像サイズの指定。空指定で生成されるサムネイルではなくアップした画像そのものを指定できる
'alt' => '', // alt属性
'noimage' => '', // 画像がなかった場合に表示する画像。例: admin/noimage.png(baserCMSコアが持ってる画像)
'output' => '', // 出力タイプ tag ,url を指定、未指定(or false)の場合は、<img>のHTMLで出力
'link' => false, // 大きいサイズの画像へのリンク有無
)
); ?>
よく使うオプション添えてあります。
BcUploadHelper 内の uploadImage() を見るとより詳細な情報が得られます。
https://github.com/baserproject/basercms/blob/dev-4/lib/Baser/View/Helper/BcUploadHelper.php#L179
補足
表示方法のサンプルでは、以下のコードを用いてます。
$this->request->params['Content']['eyecatch']
これは、現在見ているコンテンツの情報を取得してます。
このコンテンツ情報の取得については、baserCMSの利用では外せない BcBaserHelper 内の getCurrentContent() が利用できます。
具体的には以下のようにできます。
$currentContent = $this->BcBaser->getCurrentContent();
<?php echo $this->BcUpload->uploadImage('Content.eyecatch',
$currentContent['eyecatch']
); ?>
ちょっと冗長だなと思ったり、現在のコンテンツ情報を使いまわしたいときはこんな手法もあります。