LoginSignup
2
1

More than 3 years have passed since last update.

[baserCMS]各コンテンツに設定できるアイキャッチ画像を表示する

Last updated at Posted at 2019-07-07

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']
); ?>

ちょっと冗長だなと思ったり、現在のコンテンツ情報を使いまわしたいときはこんな手法もあります。

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1