Yii2中的嵌套列表
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Yii2中的嵌套列表相关的知识,希望对你有一定的参考价值。
如何在Yii2中创建嵌套列表?不是菜单列表。我跟着Yii2 docs。
所以,在config目录中的params.php
中我有一个数组。代码是这样的:
<?php
return [
'version' => 'framework: ' . Yii::getVersion() . ' version: ' . '0.0.0',
'description' => [
'app' => [
'PT. ABC' => [
'feature' => [
'Request IT-06',
'PEB'
],
'bug' => [
'No Bug'
],
'changelog' => [
'Initialize Program'
]
],
'PT. XYZ' => [
'feature' => [
'Request IT-06',
'PEB'
],
'bug' => [
'No Bug'
],
'changelog' => [
'Initialize Program'
]
],
],
],
];
我想制作一个嵌套列表。我只知道显示数组的索引,如下所示:
-PT. ABC
-PT. XYZ
这是我的代码:
<div class="col-lg-8">
<div class="panel panel-default">
<div class="panel-heading">
<h3 class="panel-title">Welcome to <?= Yii::$app->params['version'] ?></h3>
</div>
<div class="panel-body">
<?= html::ul(Yii::$app->params['description']['app'], [
'item' => function ($item, $index) {
return Html::tag(
'li',
$index,
['class' => 'post']
);
}
]) ?>
</div>
</div>
</div>
我需要像这样,例如,
-PT. ABC
* feature
- feature 1
* bug
* changelog
-PT. XYZ
* feature
* bug
* changelog
答案
你需要一个可重复的货币。使用以下方法创建您自己的Html
助手:
public static function nestedUl($items) {
return Html::ul($items, [
'encode' => false,
'item' => function ($item, $index) {
if (is_array($item)) {
$content = Html::encode($index) . Html::nestedUl($item);
} else {
$content = Html::encode($item);
}
return Html::tag(
'li',
$content,
['class' => 'post']
);
}
]);
}
它将为每个数组生成嵌套列表。
以上是关于Yii2中的嵌套列表的主要内容,如果未能解决你的问题,请参考以下文章