ホームページ  >  記事  >  バックエンド開発  >  jsはphp(ecshop Smartyテンプレート)の配列要素の値を取得します

jsはphp(ecshop Smartyテンプレート)の配列要素の値を取得します

WBOY
WBOYオリジナル
2016-06-23 14:24:511712ブラウズ

ecshop Smarty php

最近 PHP ツール (ecshop) を変更したところ、問題が発生しました。専門家に助けを求めます。
1. コードの一部は次のとおりです。

while ($row = $db- >FetchRow($res))
{
if($cur==null)
$cur=$row['template_id']
$modelrow[$row['template_id']; ]=$row['template_id' ; row[content_category]-".$row['template_subject_second'];
// echo $modelcontent[$row['template_id']];
$smarty->assign('cur ', $cur);
$smarty->assign('modelrow', $modelrow);
$smarty->assign('modelcontent', $modelcontent);
/ *end*/

$modelcontent 配列は、js 関数で dwt テンプレートに渡されます。
1. 変数値 temp=$("#temp") を表示して取得します。 .val(); (この変数の値は 1、2、3 などですが、取得することに問題はありません。)
2. var a='{$modelcontent.temp}'; 2 番目のステップは、 $modelcontent の要素値を取得するための変数ですが、それを取得する方法がわかりません。テスト時には、var a='{$modelcontent.1 を使用して配列添字 1 を取得できました。 }'。
ここで問題は、既知の変数に基づいて配列の対応する添字値を取得する方法です。他にも解決策はまだあります、ありがとう!


ディスカッションへの返信 (解決策)

var a=''; に置き換えます
alert(a); 結果を参照してください

var a に置き換えます='';
alert(a);結果を見てください
ブラウザで php を確認してください: var a='' ;

var a='{$modelcontent.'+temp+'}';

alert(a);
もう一度試してください
var a='{$modelcontent.'+temp+'}';同じ空の値でもう一度試してください

http://www.zui88.com/blog/view-261.html

役立つかどうか確認してください

Smarty テンプレートでは、配列のキー 名前が値です変数のキー名に対応する値を表示する方法

: バックエンド プログラム

質問は少し複雑ですが、一般的な意味は

PHP はテンプレートに配列を割り当てており、その配列の情報は次のように:

$config = array(

1=>'Zhongshan',

2=>'Shiqi'

); データベースストレージ領域のフィールドには、配列のキー名が記録されます。 1 など。これは、上に示したテンプレートに表示されます: Zhongshan。

このように書くとエラーが報告されます:

{{$config.$ro​​w.region}}

テンプレート上での正しい書き方は次のとおりです: {{$config[$row.region] }}

今日遭遇した問題 これはもう少し複雑です。データベースのフィールドには一部の構成のシリアル化が保存されているため、地域情報を取得するときに逆シリアル化処理が必要です。

{{ assign var=param value=$ l.params|unserialize}}

すると、$param.region は値 1 を取得できます



{lection} のときに KEY はありませんか? ? ?

または、一括転送中に KEY を保存するために追加の列を渡します

{lection} を使用するときに KEY はありませんか? ? ?

または、一括転送中に KEY を保存するために追加の列を渡します。これが php と Smarty との最初の連絡です。詳細なアドバイスをお願いします。ありがとうございます

Smarty のループは使用されますか?私はループ配列について話しています。キーカラムはないのでしょうか?配列を直接使用する場合、
すぐ上に書き間違えました

{セクション名=loop ループ=$v}

{$v[loop].array key value}
{/section}

キーを出力して、キーではなく他の数字なので、KEYを押しても正しい値は得られません

Smartyループは使えますか?私はループ配列について話しています。キーカラムはないのでしょうか?配列を直接使用する場合、
すぐ上に書き間違えました
{セクション名=loop ループ=$v}
{$v[loop].array key value}
{/section}

キーを出力して、キーではなく他の数値なので、キーを押しても正しい値が取得できません。なぜ dwt テンプレートでセクション タグを使用できないのですか?セクションを使用するために必要な他の参照やその他の変更はありますか?

助けを待っています

ご協力ありがとうございます!すでに自己解決済みです。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。