質問 > その他 > 新規作成したページへのCSSファイル指定 |
その他
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
makimaki |
投稿日時: 2009/12/16 17:53
対応状況: −−−
|
常連 ![]() ![]() 登録日: 2009/10/27 居住地: 投稿: 33 |
新規作成したページへのCSSファイル指定 お世話になります。
下記、基本的なことと思うのですが、どなたかご教示いただければ幸いです。 ページ詳細設定で新規にec/user_data/privacy.php というのを作成しました。 これに専用のprivacy.cssが反映されるよう指定したいのですが、 そのやり方は下記で正しいのでしょうか。 1. privacy.cssを作成してpackage/該当テンプレート/cssの中に 設置する。 2. 自動生成されたprivacy.phpの最後の方の下記コードで、 2行目の $objPage ->screen="privacy"; を付け足す。 ---------------------------------------------------- $objPage = new LC_Page_User(); $objPage ->screen="privacy"; register_shutdown_function(array($objPage, "destroy")); $objPage->init(); $objPage->process(); ------------------------------------------------------- 以上のようにやってみたのですが、privacy.cssが反映されずどこで間違っているのか訳が分からず困っております。(このコードの意味自体も完全には理解していないのですが。。。smartyの本を調べたもののよく分からずにおります。) どうぞ宜しくお願いいたします。 |
seasoft |
投稿日時: 2009/12/16 23:30
対応状況: −−−
|
神 ![]() ![]() 登録日: 2008/6/4 居住地: 投稿: 7369 |
Re: 新規作成したページへのCSSファイル指定 > 2行目の $objPage ->screen="privacy"; を付け足す。
なぜ、この方法で CSS が適用されると思ったのですか? 私は、この方法を聞いたことが無いので・・・
|
makimaki |
投稿日時: 2009/12/17 1:25
対応状況: −−−
|
常連 ![]() ![]() 登録日: 2009/10/27 居住地: 投稿: 33 |
Re: 新規作成したページへのCSSファイル指定 >seasoft様
お返事ありがとうございます。 あら、そうだったのですか。。 私はてっきりこれがcssファイルの指定をしているものだとばかり思い込んでいました。他のサイト事例などを見て類推しておりました(悲)。 ではこのコードは一体なんなんでしょうね? そして本題のcssファイルの指定はどうやってなされるべきなんでしょう? |
tonton |
投稿日時: 2009/12/17 15:23
対応状況: −−−
|
仙人 ![]() ![]() 登録日: 2008/8/14 居住地: 投稿: 437 |
Re: 新規作成したページへのCSSファイル指定 こんにちは。
CSSの適用は、テンプレートのsite_frame.tplのなかでuser_data/css/common.css⇒packageの中のテーマのCSS/import.css⇒それぞれのCSSと順番に呼び出しています。 ですので、site_frame.tplの<head>内のCSSを呼び出している部分で条件分岐すればいいのだと思います。 つまり <link rel="stylesheet" href="<!--{$smarty.const.URL_DIR}--><!--{$smarty.const.USER_DIR}-->css/common.css" type="text/css" media="all" /> この部分を <!--{if $tpl_title == "プライバシー"}--> <link rel="stylesheet" href="(適用したいCSSへのパス)" type="text/css" media="all" /> <!--{else}--> <link rel="stylesheet" href="<!--{$smarty.const.URL_DIR}--><!--{$smarty.const.USER_DIR}-->css/common.css" type="text/css" media="all" /> <!--{/if}--> みたいな感じで、プライバシーというナマエのページなら、○○.cssを使用し、それ以外なら通常のcommon.cssを使う、っていう風に。 ページの作成は、EC-CUBEの機能を使って新規ページを作成すれば、ちゃんと必要なファイル全てを生成してくれているので、それでいいと思います。 |
makimaki |
投稿日時: 2009/12/18 5:58
対応状況: −−−
|
常連 ![]() ![]() 登録日: 2009/10/27 居住地: 投稿: 33 |
Re: 新規作成したページへのCSSファイル指定 >tonton様
ありがとうございます!やっとしっくり分かりました! site_frame.tplというファイルで指定してたのですね。 ところで、新規ページを作成したときに $objPage ->screen="privacy"; を付け足すことによって、 上記if文を -------------------------------------------------------- <!--{if $screen== "privacy"}--> <link rel="stylesheet" href="(適用したいCSSへのパス)" type="text/css" media="all" /> 以下同じ --------------------------------------------------------- と管理する方法もあるようです。 この方法のメリットって何なのでしょうね。 |
tonton |
投稿日時: 2009/12/18 13:01
対応状況: −−−
|
仙人 ![]() ![]() 登録日: 2008/8/14 居住地: 投稿: 437 |
Re: 新規作成したページへのCSSファイル指定 ふむふむ。
想像するに、、、ですが、 $objPage ->screen="privacy"; これだと、screenがprivacyのものが全て適用されるので、複数コンテンツにも使えるということじゃないでしょうか。 $tpl_titleだと、ページ名が違えば、いくつも、andif〜していかないといけなくなりますが、$objPage ->screen="privacy"; こっちを使えば、screen="privacy"でフィルタリングできるわけなので、違うコンテンツでも、いくつでも適用できそうです。 |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |