ホームページ >バックエンド開発 >PHPチュートリアル >ThinkPHP が使用する volist テンプレート割り当ての問題

ThinkPHP が使用する volist テンプレート割り当ての問題

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBオリジナル
2016-06-23 13:25:141370ブラウズ

今日コードを見ていて問題に遭遇しました。テンプレートへの値の代入は

assign('变量名','变量值')
を使用して行われますが、変数名が違うようです。
<volist name="变量名" id="循环量">xxx        </volist>

<ul class="main-nav">        <volist name="__MENU__.main" id="menu">        <li class="{$menu.class|default=''}"><a href="{$menu.url|U}">{$menu.title}</a></li>        </volist>    </ul>


この余分な .main は何ですか?初心者の方、答えてください

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

__MENU__['main'] と同等で、$this->getMenus() を使用して取得する配列である必要があります

かなり__MENU__['main'] の場合は、$this->getMenus() を使用して取得する配列である必要があります

はい、配列です。配列内の項目を取り出すだけでよいのではないでしょうか。 __MENU_ _ は配列全体を意味します。


私はこうやってあなたを理解しようとしているんですよね?
getMenus()で返される配列では、キー[main]を持つグループのみに循環的に値が割り当てられます。


__MENU__ は配列であり、__MENU__.main は __MENU__['main'] と同等です より明確にするために、array $a=array('main'=>array(1,2,3) ), $a と仮定します.main も $a['main']、つまり array(1,2,3) です。


__MENU__ は配列であり、__MENU__.main は __MENU__['main'] と同等です

より明確にするために、array $a=array('main'=>array(1,2,3) ), $a と仮定します.main も $a['main']、つまり array(1,2,3) です。


0~分かりました
じゃあ、
$this->assign('__MENU__', $this->getMenus());
php と書けば良いのでしょうか? 。 。 ?

php5.4+ は次のようになります
assign(__MENU__,getMenus().main)

php5.4 の小さいバージョンの場合
以上です

assign(__MENU__,getMenus()['main'])

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