**[[質問箱5/106]] [#h62ea71c] |RIGHT:70|LEFT:410|c |~カテゴリ|デザイン・CSS・スキン| |~サマリ|差分表示のときだけ整形済みテキストを折り返し表示したい| |~バージョン|1.4.7_notb_utf8| |~投稿者|[[tfujii]]| |~状態|質問| |~投稿日|&new{2012-09-09 (日) 15:09:50};| ***質問 [#gc446099] :概要|~ またお世話になります。差分表示(?cmd=diff)のときだけ整形済みテキスト(pre)を折り返し表示したいです。~ ~ :試行錯誤したこと|~ pukiwiki.skin.php で、~ <?php print($vars['cmd']); ?> とやると、差分ページでは"diff"と返される事を知っていたので、イケる!と思って下記のようにしたのですができませんでした。。~ ~ pukiwiki.css.php ※余計なものは省略しています~ pre { <?php if ($vars['cmd'] == 'diff') { ?> white-space: -moz-pre-wrap; /* Mozilla */ white-space: -pre-wrap; /* Opera 4-6 */ white-space: -o-pre-wrap; /* Opera 7 */ white-space: pre-wrap; /* CSS3 */ word-wrap: break-word; /* IE 5.5+ */ <?php } else { ?> white-space:pre; <?php } ?> } ~ $vars が読み込まれていないのかと思い、~ <?php global $vars; ?> を記述に加えてみたのですがそれでもうまくいきませんでした。~ ~ なぜCSSでは$varsが使えないのでしょうか(そもそも$varsが何者かもよくわかっていないのですが・・^^;)~ ~ :PKWK使用環境|~ Apache/2.2.22 (Win32) PHP/5.3.14~ ***回答 [#wd0e4683] - pukiwiki.css.php はcssを出力するだけの独立したプログラムですのでpukiwiki本体の変数は参照できないです。 -- &new{2012-09-09 (日) 20:11:00}; -pukwiki.skin.phpのほうからpukiwiki.css.phpに $vars['cmd']の値を渡してやる方法が考えられます。 --pukiwiki.skin.phpのcss指定部分の変更例 <link rel="stylesheet" type="text/css" media="screen" href="skin/pukiwiki.css.php?charset=<?php echo $css_charset ?>" charset="<?php echo $css_charset ?>" /> の部分を <link rel="stylesheet" type="text/css" media="screen" href="skin/pukiwiki.css.php?charset=<?php echo $css_charset.'&cmd='.$vars['cmd'] ?>" charset="<?php echo $css_charset ?>" /> のように換える --受け取ったpukiwiki.css.phpのほうで $cmd = isset($_GET['cmd']) ? $_GET['cmd'] : ''; としてやれば、$cmdに本体の変数の値を取り入れることができるでしょう #comment