[カラーミー]FTPのフォルダを変数にしてちょっとでも作業を楽にしたい例

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作るときと似てると思えば、やってもいいかなとは思うけど。

あんまり旨味がない感じがする。

コメント

タイトルとURLをコピーしました