問題タブ [smarty3]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
include - 含まれているテンプレートにSmarty3ブロックを追加
Smarty3で作成したテンプレートがいくつかあります。
- レイアウトページ
- インデックスページ
- インクルードページ
layout.tpl:
index.tpl:
include.tpl
しかし、コンパイラの例外が発生しました。
致命的なエラー:キャッチされない例外「SmartyCompilerException」とメッセージ「テンプレートの構文エラーinclude.tpl {block"js"prepend}」の短縮属性が多すぎます
子テンプレートに含まれている場合でも、含まれているテンプレートでブロック追加を使用できませんか?
このような方法でブロック追加を使用できると非常に役立つと思います。または、これを行う他の方法があるかもしれません。ありがとう!
smarty - smarty v3、smartyから価値を得る
smarty v3から変数を取得するにはどうすればよいですか?Smarty v2では、get_template_varsという関数を使用しますが、v3ではこれは機能しません。
php - SmartyGetファイル拡張子
Smartyに文字列のファイル拡張子を取得する方法はありますか?何も見つからないようですが、私は爆発に相当するものを探していました。
ファイルの種類に応じて異なるアイコンを表示したいのですが、例えば。doc、docx、pdf
php - Smarty の i18n/翻訳ソリューションはありますか?
国際化 (i18n) サポートを必要とする PHP ベースのアプリケーションを開発しています。
私はテンプレート ソリューションとして Smarty 3 を使用しています (およびフレームワークとして TinyMVC を使用しています)。以前は (Smarty 2.x の時代に戻って) 小さなプロジェクトに使用していましたが、簡単なことは知りませんでした。 -i18n プラグインを使用します。Smarty 3.x 用のプラグイン/拡張機能はありますか? バックエンドのセットアップが少し難しくてもかまいません。それは問題ありません。必要なのは、テンプレートに実装する良い方法だけです。
このアプリを複数の言語に翻訳する必要があるため、Smarty がそれをサポートする方法を見つける必要があります。ありますか?ありがとう。
php - Smartyallow_php_tagレポート'未定義のプロパティ:Smarty :: $ allow_php_tag'
だから私は古いバージョンのsmartyを使用している古いウェブサイトを持っています。今日は最新バージョンにアップグレードしたかったのですが、エラーが発生しました。
Smarty 3.0.8を入れても、同じエラーが発生します... Webサイトが{php}
タグでいっぱいの場合、削除することはできません。私に何ができる?
わかりました。@Pekkaの指示に従って、SmartySecurityの次の問題について知りました。
叫び:
今何が問題なのか...$my_security_policy->php_functions = array();
すべてのphp関数を許可します..
php - SmartyテンプレートをHTMLテキストボックスに返します
smartyを使用して、WebサイトのバックエンドにあるテキストボックスにHTMLを返したいです。私はすでにsmartyを使用してバックエンド自体をレンダリングしています。
これを行うための最良の方法は何ですか?
通常の方法で単一の配列をsmartyに割り当てていますが、テンプレートを返す方法がわかりません。
php - smarty/codeigniter での評価
変数名が Dynamic である smarty で CodeIgniter 関数の 1 つを使用しようとしています。
通常、関数は次のように呼び出されます。
しかし、私のコードでは aaa は動的な値に置き換えられます
最初の部分は簡単です:
しかし、この状況で smarty で eval を使用する方法がわかりません。
ループで関数を呼び出す必要があります(次の入力/変数を使用した例)
編集:eval
PHPのネイティブ関数がsmarty内で機能していないと言い忘れました..次のエラーが表示されます:
arrays - codeigniter 2 および smarty 3 : stdClass 結果の複数配列が返されました - これらを smarty で表示するにはどうすればよいですか
私のSql関数getLive_projectsには次のクエリがあります-
$query = "SELECT p.* FROM projects p WHERE p.live = 1 ORDER BY client_name ASC";
$response = $this->db->query($query)->result();
My Controller :
// ライブ プロジェクトを取得
$data['live_projects'] = $this->projects->get_live_projects();
// データを含むプロジェクトをロードします
$this->parser->parse("projects.tpl", $data);
{$live_projects|print_r} を使用すると、テンプレートのデータは次のようになります。
)
これをテンプレートに出力するにはどうすればよいですか? {foreach from=$live_projects item=$project} を試してから、{$project->client_name} を使用しようとしましたが、うまくいきませんでした。配列をループするときにオブジェクトを使用できないようにする必要がありますか? 明らかな何かを見逃しましたか?私はこれを正しい方法で行っていますか?返された結果をループして、それぞれをテンプレートの行として表示したいだけです。
フォーラムを検索しましたが、問題を解決する答えが見つかりませんでした。$live_projects[0]->id の使用に関するいくつかの例がありますが、結果セットで多くのアイテムが返される smarty からの出力にどのように組み込むことができますか。
smarty - nocacheセクションでキャッシュされた値を使用するにはトリックが必要です
単一の配列を繰り返し処理し、一部の要素に対してのみキャッシュを無効にしたい。だから私の考えは、nocacheセクションでkey
要素を保持して取得することでした。key
残念ながら、私は次の可能性を見つけていません:
$rec@key
nocacheセクションにキャッシュされた割り当て、
key
またはキャッシュされたセクションに変数定義を保持します。
それを行う方法はありますか (スマートなコード変更なし)。ここに私のtest.tpl:
およびtest.php:
(もちろん、テキスト表示よりもはるかに複雑なことに使用します:))私は多くのトリックを試しましたが、自分では不可能だと思います。間違っていることを教えてください:)