Smartyだもの。
FTPにアップしたファイルのディレクトリ確認
カラーミーショップの管理画面で「設定」をクリック。
「ファイルサーバ」内の「FTPアカウント」をクリック。
その中にある「初期フォルダ」に書いてあるパスが該当のそれになる。
Smartyで変数にして各ページで使う
ページ種類「共通」のHTML上で以下ように変数化。
<{assign var="ftp_path" value="【初期フォルダ】"}>使いたいページの中で変数出力。
<img src="<{$ftp_path}>/img/icon/arrow.png" alt="矢印">ついでなので、キャッシュ対策も交えてみる。
<{assign var="ftp_path" value="【初期フォルダ】"}>
<{assign var="js_ver" value=$smarty.now|date_format:"%Y%m%d%H"}>
<script src="<{$ftp_path}>/js/top.js?v=<{$js_ver}>"></script>良さそうですね。
フリーページでも使える。
ベタ打ちとどっちが良いかという話
ローカルで静的ファイル(HTML)で組むわけだけど、このときはSmartyは発火しない。
厳密に整合性を求めるなら、サーバーにアップしたファイルをフルパスで打ち込んだほうが良いわけで。
だから、変数を使えばファイル上の文字数は減るけど、実務的に書き換えの手間が増えるよなという観点がある。多分そっちを優先したほうがいい。
CSS内のパスに関して無力だったりもするし。
CSSでのSmarty変数の活用はほぼ無理という話
CSSエディタで記載した内容は<head>内に挿入される。
並びは、共通→各ページの形になる。
CSSエディタでSmartyを書き込んでも発火されない。
SmartyタグはSmartyのまま出力される。
原点1。
HTML内で:root{}を記述し、Smartyと絡めてCSSの変数(CSSカスタムプロパティ)を作る事はできる。
HTML内で記述したCSSは<body>内に出力される。
:root{}をHTML上で記述して外部ファイル(.css)に適用させることは可能。
だけど、cssはHTMLの上から順に読み込まれていくので、:root{}が最後になってしまって変数は機能しない。
原点2。
HTMLタグ内で画像を読ませて、そこに追記する形じゃないと話になりませんね。
詰んでる。
まとめ
ひらめいたときは良さそうに思ったんだけど、どうなんでしょう。
php作るときと似てると思えば、やってもいいかなとは思うけど。
あんまり旨味がない感じがする。

コメント