Maison > développement back-end > tutoriel php > 在thinkphp模板中循环数组没有循环出所需要的数据

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

WBOY
Libérer: 2016-06-23 13:26:48
original
905 Les gens l'ont consulté

我在项目配置文件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'),	   ),	),
Copier après la connexion

在模板里面的代码是这样的,如下:
 <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>
Copier après la connexion

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


回复讨论(解决方案)

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

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

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


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

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

			<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>
Copier après la connexion
Copier après la connexion

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

			<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>
Copier après la connexion
Copier après la connexion


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

把volist标签换成foreach标签试试

                    <foreach name='$menu["subnav"]' key='k2' item='v2'>                        <li><a href="">{$v2.name}</a></li>                    </foreach>
Copier après la connexion
Copier après la connexion

把volist标签换成foreach标签试试

                    <foreach name='$menu["subnav"]' key='k2' item='v2'>                        <li><a href="">{$v2.name}</a></li>                    </foreach>
Copier après la connexion
Copier après la connexion


这个跟循环标签没关系,楼主原来写法没有错,是跟定义的数组有关系,照这样只能循环出来一组数组。

在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'),		       )	      ),	 ),
Copier après la connexion
Copier après la connexion
Copier après la connexion

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

在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'),		       )	      ),	 ),
Copier après la connexion
Copier après la connexion
Copier après la connexion

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

。。。。。。

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'),		       )	      ),	 ),
Copier après la connexion
Copier après la connexion
Copier après la connexion

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


我对着这个方法改了下没有问题,数组循环出来了,谢谢了!
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal