ratio_3_2 のカスタマイズ方法

【CakePHP】レイアウトを簡単に変えられる超便利な関数のご紹介と使い方【baserCMS ratio_3_2】

【CakePHP】レイアウトを簡単に変えられる超便利な関数のご紹介と使い方【baserCMS ratio_3_2】

ページごとにレイアウトを切り替える方法

本日は、便利な関数を使ったプチカスタマイズ2つご紹介いたします。

<?php $this->layout = 'レイアウトファイル名' ?>  

固定ページの下にあるコード欄にこの記述を入れるだけで反映されます。
layout1.png

例えば、

そのページだけTOP画像を変えたい。

そのページだけコメントを受け付けたい

そのページだけサイドメニューの配置を変えたい

など・・・

工夫次第でなんでも出来ちゃいます。

実際に、上記の内容を当サイト内でお見せします。

→ デモページ


いかがでしょうか。

仕組みが分かるとサイト作りがとても楽しくなると思います。 もちろんこのテーマ(ratio_3_2)だけに限らず、他のテーマでも使える便利な関数です(^^)/

固定ページ毎にレイアウトを変える方法は、デモページで理解して頂けたかな?と思いますので^^;

もうひとつ!

私が利用している方法をご紹介いたします。
 

ブログトップページ(/news/index) と 記事(single.php)でレイアウトを変える方法

通常、ブログトップページのレイアウト(サイドメニュー)が、記事のレイアウト(サイドメニュー)になると思います。

これを変えたい!


と思ったのがきっかけです。

例えば・・・

記事ページ(/news/archives/1)の横に最新記事を10件表示させる(させたい)とします。
layout4.png

そうすると・・・

ブログのトップページ(news/index)にも表示されてしまいます。(え?)
 layout6.png

これだと、全く同じ内容になるじゃないですか・・・(あかんやん)


でも、個別記事のサイドメニューには最新記事一覧を表示させたい・・・(切実に)


ここから地獄の始まりでした。。。(大げさ)


この関数の存在も利用もしていたのですが、どうやったら良いかどうか・・・そこにハマりました。(うんうん)

という事で、前置きはおしまい。

ご紹介いたします。
スポンサードリンク

実践編

手順を文章で表すと・・・

1.新規ウィジェットを作成

2.ブログindex 用のレイアウトファイルを作る

3.レイアウトファイル内のウィジェット番号を 1.で作成した番号に書き換える

4.index.php ファイルに作成したファイルを上記の関数で読ませる。


これだけでした。(は・・・はい。)

具体的な手順と解説

1.新規ウィジェットを作成します。

ダッシュボード → ウィジェット管理 → ウィジェットエリア一覧 → ウィジェットエリア新規追加
widd1.png

分りやすい名前で保存
widd2.png

ウィジェット番号を覚えておきます。
widd3.png
当サイトでは13 です。
 

2.ブログレイアウトをコピーする

初期の状態では blog.php ファイルがデフォルトになっていますので、それとは別にblog.php をコピーしたファイルを作ります。
layout7.png


中身を開いて、サイドメニュー(ウィジェット)を指定している部分を探します。

3.ウィジェット番号を書き換える

デフォルトでは No.2 というウィジェットを読んでいますので、それを作成したウィジェット番号に書き換えます
layout8.png

コード(blog.phpの該当部分)
<!-- /.col-main --></div>
<div class="col-sub">

<div class="widget-area-wrapper">
<?php
// widget: blog sidebar No.2
$this->Ratio32->widget_edit_link(2);
$this->BcBaser->widgetArea(2);
?>
<!-- /.widget-area-wrapper --></div>

<!-- /.col-sub --></div>
<!-- /.row-2col --></div>
 

4.ブログトップページだけに読み込ませます。

レイアウトテンプレート一覧 → コンテンツ一覧 → Blog/ → default/ → index.php
widd4.png
index.php を開きます。

一番上に呼び出すコードを配置しました。 上から読み込んでいくのでこの位置が良いかと思います。
widd5.png
  これで ブログトップページのみレイアウトが適用されます。


  コード
<?php $this->layout = 'blog_index' ?>
 

当サイトで挙動をご確認下さい。(PC推奨)

ブログトップページ(index)

http://ratio32.msstyle.jp/news/
 

ブログ記事ページ(このページ)

http://ratio32.msstyle.jp/news/archives/19

サイドメニューの配置が変わっているのが確認できると思います。
 

その他の活用事例

個別のページで <link rel=”canonical”> を使用したい

→ フォーラムの検索結果
 

最後に・・・

この様にbaserCMS は、柔軟に思い通りのレイアウトや設定が可能です。特にこのテーマは、殆どの部分がウィジェットで構成されています。順番の入れ替えやウィジェットのON/OFFが簡単に行なえます。

共通部分もウィジェットで管理すれば、画像の差し替えや広告・バナーなども一回の作業で、全ページに反映できるのでとても便利です(^^)/

他にも良い使い方があればアドバイスをお願い致します。

お役に立てましたら、いいね!&シェアして頂けると幸いです。
ご覧頂きありがとうございます。
 
ブログランキングに参加しています(^^)/
応援して頂けると励みになります。

 にほんブログ村 デザインブログ Webデザインへ

baserCMS

CakePHP(tm) : Rapid Development Framework