レイアウトを作ろう! (2/4)
作成:2011-11-10 07:57
更新:2011-11-10 22:00
更新:2011-11-10 22:00
■レイアウトファイルを作成する
では、実際に簡単なレイアウトを作成してみましょう。前回、使用したSampleアプリケーション用に、「Sample.ctp」というレイアウトファイルを作ってみます。
下のリスト欄に、Sample.ctpのソースコードを掲載しておきます。ここではごくシンプルなページデザインを用意しました。ここでは、ボディ部分は3つのエリアに分けてあります。ざっとレイアウトのタグについて整理しておきましょう。
これでページの基本的な構成はできました。ただし! このSample.ctpは、HTMLノタグによるページの構造を記述しただけです。肝心の表示に関する具体的なデザインはほとんどありません。
ページのデザインは、専用のスタイルシートを用意して対応します。スタイルシートは、「app」フォルダ内にある「webroot」というフォルダの中の「css」フォルダに用意されます。
今回は、ここに「sample.css」というファイルでスタイルシートを用意することにしましょう。下のリスト欄にサンプルを挙げておきます。ここでは、必要最低限のスタイルしか用意していません。見ればわかるように、<body>タグと<h1>タグの他は、先ほどあげた4つのタグに割り当てるものだけです。これで、ヘッダー・コンテンツ・フッターの基本的な表示を設定しています。
(※テーブル関係のスタイルも用意されていますが、これは次回以降に使うモデルで利用するためのものです。今回は特に使っていません。)
下のリスト欄に、Sample.ctpのソースコードを掲載しておきます。ここではごくシンプルなページデザインを用意しました。ここでは、ボディ部分は3つのエリアに分けてあります。ざっとレイアウトのタグについて整理しておきましょう。
<div id="container">ボディにまず配置されるのがこのタグです。この中に、ページの基本的な表示内容が組み込まれます。
<div id="header">ヘッダー領域です。コンテンツのタイトル表示などがここに用意されます。
<div id="content">これがコンテンツの表示領域です。ビューとして用意されたものは、この中に組み込まれます。
<div id="footer">フッター領域です。コピーライトなどのようにページ末尾に必ず表示するものがここに用意されます。
これでページの基本的な構成はできました。ただし! このSample.ctpは、HTMLノタグによるページの構造を記述しただけです。肝心の表示に関する具体的なデザインはほとんどありません。
ページのデザインは、専用のスタイルシートを用意して対応します。スタイルシートは、「app」フォルダ内にある「webroot」というフォルダの中の「css」フォルダに用意されます。
今回は、ここに「sample.css」というファイルでスタイルシートを用意することにしましょう。下のリスト欄にサンプルを挙げておきます。ここでは、必要最低限のスタイルしか用意していません。見ればわかるように、<body>タグと<h1>タグの他は、先ほどあげた4つのタグに割り当てるものだけです。これで、ヘッダー・コンテンツ・フッターの基本的な表示を設定しています。
(※テーブル関係のスタイルも用意されていますが、これは次回以降に使うモデルで利用するためのものです。今回は特に使っていません。)
(by. SYODA-Tuyano.)
※プログラムリストが表示されない場合
AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。
●プログラム・リスト●
※Sample.ctp
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<?php echo $this->Html->charset(); ?>
<title>
<?php echo $title_for_layout; ?>
</title>
<?php
echo $this->Html->meta('icon');
echo $this->Html->css('sample');
echo $scripts_for_layout;
?>
</head>
<body>
<div id="container">
<div id="header">
<?php echo $header_for_layout; ?>
</div>
<div id="content">
<?php echo $this->Session->flash(); ?>
<?php echo $content_for_layout; ?>
</div>
<div id="footer">
<?php echo $footer_for_layout; ?>
</div>
</div>
</body>
</html>
※Sample.css
body {
background: #ffeeee;
color: #660000;
font-family:'lucida grande',verdana,helvetica,arial,sans-serif;
font-size:90%;
margin: 0;
}
#container {
}
#header {
background-color:#660000;
color:#FFFFFF;
}
h1 {
color:#660000;
font-size:18pt;
}
#content {
padding: 5px;
}
#footer {
text-align:right;
color:#990000;
border-bottom:1px solid #990000;
padding:20px 10px 0px 0px;
}
table {
width:90%;
}
td {
padding: 2px 5px 2px 5px;
background-color: #FFFFFF;
color:#660000;
border: #ffeeee solid 2px;
}
pre {
background-color: #FFFFFF;
padding:5px 10px 5px 10px;
margin:10px 20px 10px 20px;
}
※関連コンテンツ
「初心者のためのCakePHP2 プログラミング入門」に戻る