バージョン選択

フォーラム

メニュー

オンライン状況

70 人のユーザが現在オンラインです。 (55 人のユーザが フォーラム を参照しています。)
登録ユーザ: 1
ゲスト: 69
uranustoto もっと...

サイト内検索

質問 > その他 > 新規作成したページへの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 が適用されると思ったのですか?

私は、この方法を聞いたことが無いので・・・


----------------
Seasoft
こちらでの投稿は、アイディア程度に留めさせていただいております。
個別案件の作業は有償で承っております。お気軽にご相談ください。

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"でフィルタリングできるわけなので、違うコンテンツでも、いくつでも適用できそうです。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


EC-CUBE公式 Amazon Payプラグイン

統計情報

総メンバー数は90,419名です
総投稿数は110,395件です

投稿数ランキング

1
seasoft
7369
2
468
3217
3
AMUAMU
2712
4
nanasess
2314
5
umebius
2085
6
yuh
1819
7
h_tanaka
1694
8
red
1571
9
mcontact
1371
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
799
14 ramrun 789
15 karin 689
16 sumida 641
17
homan
633
18 DELIGHT 572
19
patapata
502
20
flealog
485


ネットショップの壺

EC-CUBEインテグレートパートナー

Copyright© EC-CUBE CO.,LTD. All Rights Reserved.