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.2
- 回答日時:
別に時間が掛かる事でもないんだから、実験してみりゃいいじゃん。
少なくとも、5割程は可能だろうって予測してるんでしょ。
やってみてできたら、聞いてやるよりも身に付きますよ。
と思ってしまいましたが。
結論から言うと、できますよ。
私であれば
<div class="madIdea" style="background-color: {$abc};">
と変化するものだけは、タグに直接書きますが。
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>
お探しの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タグ 枠線を透明にするには?
-
JavaScriptで任意の文字の色を...
-
スマホで見ると、文字があまり...
-
bodyの背景と異なる背景色で、...
-
点線や破線を引くには
-
htmlの文字が縦書きになる
-
div要素が重なってします
-
htmlのolやulなどlistにtitleや...
-
CSSのクラス名・ID名の指定でワ...
-
初心者html・CSS ウィンドウを...
-
safariだけCSSが崩れてしまいます
-
<h1>、<h2>と<p><div>の行間を...
-
画像だけを端に寄せる方法
-
CSS、width100%でもできる余白
-
含む含まないという概念自体の...
-
<div id="container">の使いか...
-
プルダウンの選択リストの中に...
-
リストの数字のフォントサイズ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
<pre>~</pre>について
-
<form <input type="text"の枠...
-
CSSでクラスのエイリアス(include)
-
訪問済のリンク色を変えない方法
-
HRタグ 枠線を透明にするには?
-
マウスオーバーでの反応速度が遅い
-
テキストボックスの文字の大き...
-
LinkButtonコントロール
-
リンクの文字と下線の間にスペ...
-
リンク部分にカーソルが来たら...
-
テキストエリア送信の際の文字...
-
JavaScriptで任意の文字の色を...
-
リンクの下線の距離を変更した...
-
横スクロールバーを表示したい
-
スクロールバーが薄いです。
-
カラープレーンってなんですか?
-
アンカーへのリンク設定と文字色
-
カーソルを乗せると、文字の色...
-
CSSのtext-decoration: none;が...
-
smartyテンプレートの<style></...
おすすめ情報