在thinkphp模板中迴圈數組沒有迴圈出所需要的資料

來源:互聯網
上載者:User
我在項目設定檔config.php裡面寫了個數組,代碼
/*網站左側欄目導航*/'menu' => array(   'headnav' => '控制台',   'subnav' => array(array('name' => '系統設定', 'menumark' => 'System', 'url' => 'System/index'),array('name' => '導航管理', 'menumark' => 'Nav', 'url' => 'Nav/navList'),array('name' => '廣告圖片', 'menumark' => 'Show', 'url' => 'Show/showList'),array('name' => '管理列表', 'menumark' => 'Admin', 'url' => 'Admin/adminList'),   ),),

在模板裡面的代碼是這樣的,如下:
 

{$v.headnav}

  • {$v2.name}

鬱悶死個人,我以前寫過另外一個架構,可以用,但是移植到thinkphp就不行了。


回複討論(解決方案)

foreach裡面menu的值你是怎麼來的…

config.php裡面寫的數組要在使用的時候,需要用C()方法擷取,你在控制器裡先$this->assign('menu', C('menu'));再去遍曆它

config.php裡面寫的數組要在使用的時候,需要用C()方法擷取,你在控制器裡先$this->assign('menu', C('menu'));再去遍曆它


我在公用控制器裡面賦值了的,可以列印出來

你搞錯了迴圈的對象,修改的部分代碼參考如下:

{$menu["headnav"]}

  • {$v2.name}

你搞錯了迴圈的對象,修改的部分代碼參考如下:

{$menu["headnav"]}

  • {$v2.name}


這個好像也不對呢,取不出下一級數組

把volist標籤換成foreach標籤試試

                                            
  • {$v2.name}
  • 把volist標籤換成foreach標籤試試

                                                
  • {$v2.name}

  • 這個跟迴圈標籤沒關係,樓主原來寫法沒有錯,是跟定義的數組有關係,照這樣只能迴圈出來一組數組。

    在config.php裡面正確定義數組應該是這樣的:

    /*網站左側欄目導航*/'menu' => array(  'menu[1]' => array(      'headnav' => '控制台',      'subnav' => array(         array('name' => '網站設定', 'menumark' => 'System', 'url' => 'System/index'),         array('name' => '導航管理', 'menumark' => 'Nav', 'url' => 'Nav/navList'),         array('name' => '廣告管理', 'menumark' => 'Show', 'url' => 'Show/showList'),         array('name' => '管理列表', 'menumark' => 'Admin', 'url' => 'Admin/adminList'),       ) ), 'menu[2]' => array(      'headnav' => '單頁面管理',      'subnav' => array(         array('name' => '單頁面管理', 'menumark' => 'Page', 'url' => 'Page/pageList'),       )      ), ),

    改下配置數組就可以了,模板的迴圈標籤是正確的。

    在config.php裡面正確定義數組應該是這樣的:

    /*網站左側欄目導航*/'menu' => array(  'menu[1]' => array(      'headnav' => '控制台',      'subnav' => array(         array('name' => '網站設定', 'menumark' => 'System', 'url' => 'System/index'),         array('name' => '導航管理', 'menumark' => 'Nav', 'url' => 'Nav/navList'),         array('name' => '廣告管理', 'menumark' => 'Show', 'url' => 'Show/showList'),         array('name' => '管理列表', 'menumark' => 'Admin', 'url' => 'Admin/adminList'),       ) ), 'menu[2]' => array(      'headnav' => '單頁面管理',      'subnav' => array(         array('name' => '單頁面管理', 'menumark' => 'Page', 'url' => 'Page/pageList'),       )      ), ),

    改下配置數組就可以了,模板的迴圈標籤是正確的。

    。。。。。。

    misakaqunianx... 這個有什麼問題嗎?

    在config.php裡面正確定義數組應該是這樣的:

    /*網站左側欄目導航*/'menu' => array(  'menu[1]' => array(      'headnav' => '控制台',      'subnav' => array(         array('name' => '網站設定', 'menumark' => 'System', 'url' => 'System/index'),         array('name' => '導航管理', 'menumark' => 'Nav', 'url' => 'Nav/navList'),         array('name' => '廣告管理', 'menumark' => 'Show', 'url' => 'Show/showList'),         array('name' => '管理列表', 'menumark' => 'Admin', 'url' => 'Admin/adminList'),       ) ), 'menu[2]' => array(      'headnav' => '單頁面管理',      'subnav' => array(         array('name' => '單頁面管理', 'menumark' => 'Page', 'url' => 'Page/pageList'),       )      ), ),

    改下配置數組就可以了,模板的迴圈標籤是正確的。


    我對著這個方法改了下沒有問題,數組迴圈出來了,謝謝了!
  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.