smartyのtmpファイルにスタイルシートの内容を書いた場合、{literal}{/literal}で囲う必要がありますが、逆に囲わない場合、たとえばスタイルシートの内容にsmarty変数を当てはめたることは可能でしょうか?
たとえば、以下のような感じです。
<style type="text/css">
{literal}
/* this is an intersting idea for this section */
.madIdea{
border: 3px outset #ffffff;
margin: 2 3 4 5px;
{/literal}
background-color: {$abc};
{literal}
}
{/literal}
</style>
例がしょぼいですが、上の例だと、 background-colorを{$abc}で当てはめています。
こんなことは通常smartyでは可能でしょうか?
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
ものぐさに書いちゃうと{$abc}がエスケープされますから
対応策
・{ldelim} {rdelim}でがんばる
・スタイルシートやjavascript部分は出来るだけscriptタグやlinkタグを使い、別のファイルとして管理する
・CSSやJavascript部分をまとめて出力したい文字としてソースコードなどに記述してしまう。
$cssLists = "td{ background-color: $tdBgcolor1 ; }";
$smarty->assign('setStyle1', $cssLists); // みたいな
出来るだけ外のファイルに記述するか
{ldelim}あたりでがんばった方が、
HTMLソースがバラバラにならない気がします。
大技 デリミタそのものを変更してしまう。
$smarty->left_delimiter = '{{{'; // 後は({とか<!---とか
$smarty->right_delimiter = '}}}';
-- 変更後の書き方↓ --
<style type="text/css">
{{{** 波括弧が3連続で現れてる場所だけがsmarty変数だと解釈される **}}}
{
/* this is an intersting idea for this section */
.madIdea{
border: 3px outset #ffffff;
margin: 2 3 4 5px;
background-color: {{{$abc}}};
}
}
</style>
No.2
- 回答日時:
別に時間が掛かる事でもないんだから、実験してみりゃいいじゃん。
少なくとも、5割程は可能だろうって予測してるんでしょ。
やってみてできたら、聞いてやるよりも身に付きますよ。
と思ってしまいましたが。
結論から言うと、できますよ。
私であれば
<div class="madIdea" style="background-color: {$abc};">
と変化するものだけは、タグに直接書きますが。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- HTML・CSS <!DOCTYPE html> <html> <head> <meta charset="utf-8 2 2023/01/05 01:04
- HTML・CSS HTML & CSS 縦ボックス内の文字の左右センタリング 3 2023/03/25 04:23
- HTML・CSS アコーディオンメニューが思うように動作しません。 1 2023/08/20 16:48
- HTML・CSS CSSが効かずどのように指定すれば良いか分からないのでアドバイスお願い致します 2 2023/06/07 12:25
- HTML・CSS (Javascript)印刷するファイルに応じて印刷プレビュー画面で用紙を自動的に切り替えたい!! 2 2022/04/11 12:04
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/30 09:10
- JavaScript ソースコードのいじる場所が分かりません。 1 2022/12/23 02:06
- HTML・CSS CSS のみのタブ切り替えについて 1 2023/01/11 16:47
- JavaScript vertical sliderをautoplayしたい 2 2022/08/25 14:47
- HTML・CSS HTMLで特定の文字だけ色を変えたいのですが、指定した色と違う色が反映してしまいます。 下記、「前」 5 2023/06/27 12:08
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
HRタグ 枠線を透明にするには?
-
<pre>~</pre>について
-
H2タグを使ったときの文字の背...
-
<form <input type="text"の枠...
-
CSSのtext-decoration: none;が...
-
リンク下のアンダーラインの消し方
-
リンク部分にカーソルが来たら...
-
htmlの文字が縦書きになる
-
質問1.
-
タグは大文字と小文字どちらが...
-
画像の場合のみ、下線を消す方...
-
Macで画像の切り抜きできないの?
-
CSSがなぜかfont-sizeだけ効か...
-
リストの並べ替え
-
table で画像をピッタリとくっ...
-
ボタンを横に並べて表示させる方法
-
div要素が重なってします
-
親要素・子要素
-
HTML属性での「""」 「''」違い
-
CSSでボックスのheightが0になる
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
HRタグ 枠線を透明にするには?
-
訪問済のリンク色を変えない方法
-
スマホで見ると、文字があまり...
-
<pre>~</pre>について
-
<form <input type="text"の枠...
-
マウスオーバーでの反応速度が遅い
-
JavaScriptで任意の文字の色を...
-
CSSでクラスのエイリアス(include)
-
カラープレーンってなんですか?
-
リンク部分にカーソルが来たら...
-
ホームページビルダー・表に透...
-
点線や破線を引くには
-
H2タグを使ったときの文字の背...
-
リンクの下線を消す
-
C# RichTextBoxで選択した文字...
-
smartyテンプレートの<style></...
-
リンクの文字と下線の間にスペ...
-
スクロールバーが薄いです。
-
VBAを使い塗り潰す
-
ツリ~のメニュー
おすすめ情報