当前位置: 代码迷 >> PHP >> 在thinkphp模板中循环数组没循环出所需要的数据
  详细解决方案

在thinkphp模板中循环数组没循环出所需要的数据

热度:24   发布时间:2016-04-28 17:02:10.0
在thinkphp模板中循环数组没有循环出所需要的数据
我在项目配置文件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'),
   ),
),

在模板里面的代码是这样的,如下:

 <foreach name='menu' key='k' item='v'>
<div class="fenlei">
<h3 class="fl_tb6"><s></s>{$v.headnav}</h3>
<ul >                  <volist name='v["subnav"]' key='k2' id='v2'>
<li><a href="">{$v2.name}</a></li>
</volist>
  </ul>
<div class="clear"></div>
</div>
</foreach>

郁闷死个人,我以前写过另外一个框架,可以用,但是移植到thinkphp就不行了。
------解决思路----------------------
你搞错了循环的对象,修改的部分代码参考如下:
			<h3 class="fl_tb6">
<s></s><if condition='$k eq "headnav"'>{$menu["headnav"]}</if>
</h3>
<if condition='$k EQ "subnav"'>
                <ul >
                 <volist name='$menu["subnav"]' key='k2' id='v2'>
                        <li><a href="">{$v2.name}</a></li>
                    </volist>
                </ul>
            </if>

------解决思路----------------------
在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'),
       )

      ),
 ),

改下配置数组就可以了,模板的循环标签是正确的。