CakePHP
baserCMS

[baserCMS] 固定ページでcode欄を入力欄に見立てて使ってみるTips

More than 1 year has passed since last update.

baserCMSでサイト作ってるときにたまに起こるのが「あとひとつ入力欄要る」です。

そんなときに対応できる方法を考えてみました。

本記事の対象は固定ページです。選択肢としては以下になるかなぁ?と思います。


  • キーワードプラグインを導入する

  • 条件分岐でなんとかする

  • code 欄使う[今回のTips]


想定している対象者


  • baserCMSでウェブサイトを制作をしている方


発生状況


  1. baserCMSの固定ページで、入力欄があとひとつあればなんとかなるような状況のとき

  2. 追加したいけど特別なコストは掛けることができない状況のとき


環境


  • baserCMS 3.0.9


    • 他の旧バージョンでも利用可




対処

固定ページのcode欄を利用して、CakePHPのビューブロックの仕組みを使ってみる。


code欄を入力欄に見立てて使ってみる

固定ページには、「オプション」で開いて利用できる code欄があります。

この code欄に入力した内容は、通常、メインコンテンツ部分の上部に表示されます。

<?php $this->BcBaser->flash() ?>

この辺に code欄の内容は出力される
<?php $this->BcBaser->content() ?>

※ちなみにこの code欄の表示はどんな仕様になってるか見てみたところ、

/lib/Baser/Model/Page.php の addBaserPageTag() で付与処理されてました。

利用するために準備を以下のように仕込みます。

<?php $this->fetch('subTitleBlock') ?>

<?php $this->BcBaser->flash() ?>
<?php $this->BcBaser->content() ?>

準備のポイントは

<?php $this->fetch('subTitleBlock') ?>」を書いておくことだけです。

※ 名称 subTitleBlock はあくまで例です。これが決まりではなくなんでも良いです。

そして、code欄側には以下のように記述します。

<?php $this->start('subTitleBlock') ?>

<h2>ちょっと出したいテキスト</h2>
<?php $this->end() ?>

こうすることで、メインコンテンツ部分の上部には何も表示されず、目的の場所に目的のテキストを表示することができます。

code 欄に記載がない場合は、何も表示されません(何もしない)し、start〜end の範囲が利用・表示されるため、code欄に他の記載用途があった場合も影響受けることがありません。

これで、特別な作業コストをかけることもなく、表示を追加することができますね。


関連記事