您好,欢迎访问一九零五行业门户网

在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'), ), ),
在模板里面的代码是这样的,如下:
{$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'), ) ), ),


改下配置数组就可以了,模板的循环标签是正确的。
我对着这个方法改了下没有问题,数组循环出来了,谢谢了!
其它类似信息

推荐信息