1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

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

Posted at

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欄に他の記載用途があった場合も影響受けることがありません。

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

関連記事

1
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
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?