• 技术文章 >后端开发 >php教程

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

    2016-06-23 13:26:48原创400
    我在项目配置文件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}


    郁闷死个人,我以前写过另外一个框架,可以用,但是移植到thinkphp就不行了。


    回复讨论(解决方案)

    foreach里面menu的值你是怎么来的…

    config.php里面写的数组要在使用的时候,需要用C()方法获取,你在控制器里先$this->assign('menu', C('menu'));再去遍历它

    config.php里面写的数组要在使用的时候,需要用C()方法获取,你在控制器里先$this->assign('menu', C('menu'));再去遍历它


    我在公共控制器里面赋值了的,可以打印出来

    你搞错了循环的对象,修改的部分代码参考如下:

    			

    {$menu["headnav"]}

    你搞错了循环的对象,修改的部分代码参考如下:

    			

    {$menu["headnav"]}


    这个好像也不对呢,取不出下一级数组

    把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'),		       )	      ),	 ),

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


    我对着这个方法改了下没有问题,数组循环出来了,谢谢了!
    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    上一篇:php+ajax 图片上传 下一篇:请问,怎么使用gd操作直接生成图片文件?
    20期PHP线上班

    相关文章推荐

    • 【活动】充值PHP中文网VIP即送云服务器• 施用php伪造IP层,求思路 • 请问版主xuzuning • discuz X2.5 怎么自己写个页面直接操作数据库表 • 自个儿编写的PHP开源社区cms版,欢迎体验~ • mysql 中怎么导入.txt文件
    1/1

    PHP中文网