我需要以下输出:
<ul>
<li class="active"><a href="#section1">Value 1</a></li>
<li><a href="#section2">Value 2</a></li>
<li><a href="#section3">Value 3</a></li>
<li><a href="#section4">Value 4</a></li>
<li><a href="#section5">Value 5</a></li>
...
</ul>
其中Value是来自数据库(DB)的数据(例如某些字段的值)。是否可以从已经插入到某个预定义字符串的DB中获取重新编码?
答案 0 :(得分:1)
我认为你需要这个。 使用ArrayHelper创建一个数组来存储来自特定模型的所有数据。
<?php
use yii\helpers\ArrayHelper;
$dataFromDBTable = ArrayHelper::map(ModelName::find()->all(), 'id', 'name');
?>
<ul>
<?php foreach ($dataFromDBTable as $id => $name) { ?>
<li><a href="#section<?=$id?>"><?=$name?></a></li>
<?php } ?>
</ul>
答案 1 :(得分:0)
最好使用Html来创建列表。例如:
<?=yii\helpers\Html::u($items, $options); ?>
答案 2 :(得分:0)
我使用了ListView和#39;标记&#39; =&GT;假:
<?=
ListView::widget([
'dataProvider' => $dataProvider,
'options' => ['tag' => false],
'itemOptions' => ['tag' => false],
'layout' => "\n{items}",
'itemView' => function ($model, $key, $index, $widget) {
return $this->render('_specialization_li',['model' => $model, 'index' => $index]);
},
]);
?>
在_specialization_li里面我写道:
<li><a href="#section<?= $model->id ?>"><?= $model->name_ ?></a></li>
另外在github上有&#39;标记&#39; =&gt; false的错误修正:
https://github.com/pkirill99/yii2/commit/528b97183591376da80ee168a2a1132ea36f33cf