問題タブ [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.
smarty - デフォルト修飾子の使用
私は Smarty の基本的な使用法を少し超えようとしていますが、デフォルトの「capitalize」修飾子を使用して小さな問題に遭遇しました。この演算子を使用するために明示的な呼び出しを行う必要がないという前提で操作しているため、テンプレートには次のものがあります。
私が置き換えるとしたら:
と
正常に動作しますが、修飾子を追加すると次のエラーが発生します。
PHP Fatal error: Uncaught exception 'SmartyCompilerException' with message 'Syntax Error in template [FILE_PATH] on line 7 "<label class="checkbox inline"><input type="checkbox" cf-change=" toggle-field::#{$add_in}-add-in"> {$add_in|capitalize}</label>" 不明な修飾子「大文字にする」'
どんな助けでも大歓迎です。
php - 複数のパラメーターを関数に渡す、sprintf を使用したスマートなカスタム修飾子
$insert
複数のパラメーターを関数に渡すことができるように
、どのように拡張しますか{"Sample text %s this more %s."|inject:$foo:$foo2}
。
現時点では、1 つのパラメーターでのみ機能します。
smarty - プラグイン ディレクトリの競合
Smarty 環境を正常に動作させるために独自の修飾子関数の開発を開始して以来、私は苦労してきました。具体的には、「組み込み」関数を使用できるか、独自の関数を使用できるかを選択する必要があるようですが、両方を使用することはできません。私は何かが欠けていると確信しており、誰かが私が何をする必要があるかを教えてくれることを願っています.
私が現在行ったことは次のとおりです。
- 組み込み関数を使用する場合-大文字化、@debug_print_varなどの修飾子-これらの組み込みスクリプトが存在するディレクトリを特に指定する必要なく、機能するようです
- 私が独自のスクリプトを開発したとき (現在は 2 つ持っています)、スクリプトを認識させる場所を明示する必要があったため、以下のコードを追加しました。
コード:
コメントアウトされた行からわかるように、デフォルトの Smarty ライブラリと自分自身のライブラリの両方に対して 2 つの「setPluginsDir()」呼び出しを試みましたが、明らかに 1 つのディレクトリしか登録できません。
ありとあらゆる助けをいただければ幸いです。
php - 不明なメソッド '_compile_source' の呼び出し。スマーティー3
うまくいけば、誰かがこれで私を助けてくれます。私は CMSMS 内で smarty を使用しており、ページ内で実行されているユーザー定義タグと呼ばれるものがあります。これには次のコードが含まれます。
CMSMS のインストールをアップグレードしたので、smarty 3 が実行されるようになり、ページが壊れました。次のエラーが表示されます。
/lib/smarty/sysplugins/smarty_internal_templatebase.php: 不明なメソッド '_compile_source' の呼び出し。
Compile Source メソッドは Smarty 3 で減価償却されたと思います。だれかが、その置換の正しい方向、またはこれを再び機能させる方法を教えてもらえますか?
どうもありがとう
php - Zend Framework 2 で Smarty 3 を使用するにはどうすればよいですか?
私はずっと前に PHP5 を使用していましたが、現在、自分の知識を更新し、可能なプロジェクトのために Zend Framework 2 と Smarty 3 の知識でそれを強化しようとしています。
私は現在、Smarty 3 を Zend Framework 2 の代替/補足として使用する方法を見つけようとしています。
このトピックについて Google で見つけることができるものはすべて、次のいずれかです。
- 古い (Zend Framework 1 など)
- Zend と Smarty の両方について、実際よりも詳しい実務知識があると想定しています。
Zend Skeleton Application を出発点として使用して、私が9であるかのように説明してもらえますか。
Smarty-3.1.12 パッケージを解凍する必要があるディレクトリ/フォルダ (完全修飾パスを使用) を教えてください。
どのクラスを作成する必要がありますか、正確には何を含める必要があり、どこに保存する必要がありますか?
モジュール内で Smarty を表示できるようにするには、どのファイルをどのように変更する必要がありますか?
上記で作成されたクラスを参照して、これらを AZ からどのように使用できるか/使用する必要がありますか (たとえば、適切なクラス内に含める、値を割り当てる、出力を作成する)?
smarty - サブディレクトリドキュメントでのExtendsの使用
ディレクトリは次のように設定されます。
main / foo.tplでは、通常{extends file="common/base.tpl"}
は問題なく機能します。special / foo.tplでも、{extends file="main/foo.tpl"}
問題なく動作します。
私が抱えている問題は、main / extras/bar.tplを拡張することです。私が試したことは、このドキュメントを拡張するものではありません。main /extrasからmain/に移動すると、すべてがfooの例のように機能します。special / extras / bar.tplを試したことがありますが、それも機能しません。
では、サブディレクトリ内のドキュメントをどのように拡張しますか?$ this-> smarty-> use_sub_dirs=true;を設定しました。これは効果がありません。
php - Smarty 3は、foreachループ内の現在の位置を出力します。
それ以外の:
このようなことをする方法はありますか?
これは次のように出力できます。
アイテム-最初のアイテム-最後
行が1つしかない場合は、上記の両方を出力する必要があると思いますか?
php - Smarty 動的変数の問題
残念ながら、私の現在の職場では、私が雇用される前に行っていたプロジェクトで Smarty を使用する必要があります。
とにかく、アプリのカテゴリごとに動的な html タイトルを呼び出そうとしています。
たとえば、タイトルは以前pageTitle="{$category}
は{$areaname}
".
しかし、私は今それをしたい: pageTitle="{html_title}"
. (db から)内html_title
には、文字列があります。たとえば、" Monkeys in the {areaname}
" どこ{areaname}
に"jungle
".
結果を出力すると、次のようになります。
"Monkeys in {areaname}"
.
要するに、変数を認識していないということです。文字列として扱っています。私は頭を抱えてグーグルで検索しましたが、答えが見つかりません。賢く嫌い!
助けてください!
php -
smartyとphpを使用してHTMLからタグのURLを解析して取得するには?
HTML コンテンツを値として保持する smarty 変数があります。HTML コンテンツの中に画像があります。サイズ変更のために、その画像の URL を抽出する必要があります。
PHPで解析してsmarty変数に割り当てる方法があることは知っています。<img>
しかし、HTML からタグの URL を取得する正規表現のようなスマートな方法があるかどうかを知る必要があります。
例:
<img>
タグだけをエスケープするコードです。$post_content
同様に、変数から画像の URL を取得する必要があります。
php - pagodaboxにsmartyプロジェクトのキャッシュフォルダーを書き込めません
私はsmartyでプロジェクトを作成しましたが、今はpagodabox.comでホストしようとしています。pagodabox.comでアプリケーションを作成し、すべてのコードをこのアプリケーションにアップロードしましたが、問題は、pagodabox.comでキャッシュとコンパイラディレクトリを構成できないため、キャッシュとコンパイラディレクトリが読み取り専用モードであるため、胎児エラーが出力されることです。Boxfileでこの問題を解決しようとしましたが、解決できませんでした。これらのディレクトリを書き込み可能にする方法がわかりません。私を助けてください。これはプロジェクトのURLでhttp://moviestock.pagodabox.com/
あり、以下は私のBoxfile構成です
そして私はこの次のエラーを受け取っています: