2011/06/13CakePHP1.3でページ毎にkeywordsとdescriptionを設定する方法を考えてみました。CakePHPでサイトを構築した場合、通常、メタ情報を含めたヘッダ部分はレイアウト機能で共通化します。その中でも、keywordsやdescriptionといったページ毎に動的に切り替えたい部分があります。今回は、そのしくみについていろいろと試してみました。Htmlヘルパーのmeta関数を用いるHtmlヘルパーではmeta情報を出力するために関数が用意されています。keywordsタグを出力したい場合、ビューで以下のように設定します。?>その出力結果は以下の通りです。/>しかし、このままでは1つ問題があります。それは、ビューでmeta関数をコールした箇所に出力されてしまうということです。「$script_for_layout」では設定したcssやjavascriptをメタタグ内に出力してくれますが、meta関数はそれとは異なるようです。したがって、ビュー内のmeta関数を置く場所や、レイアウトとビューの構成を工夫しなければ、正しい位置にkeywordsを設定することはできません。スマートな感じがしませんね。独自のデータ枠を用意しておくなるべくシンプルな構成をと、繰り返し試していたのですが、結局、予めレイアウトにデータ枠を用意しておくことに落ち着きました。CakePHPにはレイアウト用に「script_for_layout」や「script_for_title」というデータが用意されていますが、これに合わせて「script_for_keywords」「script_for_description」を独自で用意します。以下、レイアウトの記述です。?>次に、以下のようにコントローラで、必要に応じてアクション内で値をセットします。'ダミーディスクリプションダミーディスクリプションダミーディスクリプション...');すると以下のように出力されます。/>こうすることで、ページ毎やコントローラ毎に切り替えることもできれば、サイト共通で値を持たせることもできます。「script_for_title」などと基本的に同じ考え方なので、直感的にも管理しやすいですね。リックテレコムプログラミングは全く初めての人、他の入門書で挫折しちゃった人、つまづく所はみんな同じです。そこを徹底分析したメソッドで、全員ゴールに辿り着ける入門教室が秋葉原にあります。1日でWeb画面と簡単なDBまで作れるようになるとってもユニークな速習コース。その方法を1冊に凝縮した本書なら、いきなりの初心者でも、無理せず楽しくPHPとMySQLのエッセンスを習得できます。ソーテック社FuelPHPでのフレームワーク開発を基礎から解説!役立つコアクラスとパッケージを徹底詳解!自由に使えるサンプルプログラムで実例をあげながら解説!Webアプリ開発の効率を大幅アップ!統合開発環境でOS問わず開発可能。参考にさせて頂きました。コメントをキャンセルメールアドレスが公開されることはありません。コメントデータの処理方法の詳細はこちらをご覧ください。inc.Profileサイト「helog」は私がWeb制作に携わるなかでの経験を中心に記しています。前にも発生したんだよなぁ。」といった無駄な時間を省くことを目的に書き始めました。「へ」の「ログ」です。個人的な技術メモのようなものですが、みなさんの何か役に立つことがあればこの上ないです。