救援物資を送ろう

フリークスサーフクラブ様にて、今回の日本太平洋沖地震の被災地に向けて救援物資を集めています。今回は、仙台サーフショップからの求めに応じて『靴』を集めていました。

微々たるものですが協力させて頂きました。
m20110324

※お蔭様で家の整理もできました。写真の倍以上のぼろ靴が出てきたので捨てることができ、靴箱がスッキリ!

$script_for_layout にスタイルシートCSSを展開する

久しぶりのCakePHPネタです。(CakePHP1.3)

Viewごとに、「適用するCSSスタイル、Javaスクリプトを変えたい!」という時は、レイアウトにある$script_for_layoutを活用する。

(1)例えば、default.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" xml:lang="ja" lang="ja">
<head>
<?php echo $this->Html->charset(); ?>
<title><?php echo $title_for_layout ?></title>
<meta http-equiv="content-style-type" content="text/css" />
<?php
  //==================================================
  // CSS、Script
  //==================================================
  echo $this->Html->css('style');
  echo $scripts_for_layout; ?>
</head>

(2)スタイルを適用したいViewに下記を記述する。

<?php $this->Html->css('pdf',
    'stylesheet', array('media'=>'all', 'inline'=>false)); ?>

(3)これで、$script_for_layout部分にスタイルが展開される。

<!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" xml:lang="ja" lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
<title>タイトル</title>
<meta http-equiv="content-style-type" content="text/css" />
<link rel="stylesheet" type="text/css" href="style.css" />
<link rel="stylesheet" type="text/css" href="pdf.css" media="all"/>
</head>

※$this->html->cssは、第3引数に ‘inline’=>falseを記載すること。
これがないと、定義したViewの部分に展開される。
※CakePHP1.2の場合は、第4引数に記載していたようです。