将项目数据传递给Yii2可排序小部件

时间:2014-12-15 12:12:28

标签: widget jquery-ui-sortable yii2

我使用Yii2可排序小部件来生成拖放列表,但我无法弄清楚如何将项目数据添加到每个<li>元素。我希望能够使用类似于gridview的东西: -

echo Sortable::widget([
    'items' =>  ArrayHelper::map(Product::find()->all(), 'id', 'FullDescription'),
    'options' => ['tag' => 'ul', 'class'=>'connectedSortable', 'style'=>"min-height: 20px; border: 1px solid #000;"],
    'itemOptions' => ['tag' => 'li', 'data'=>['id'=>'$item->id']], // <-- this doesn't evaluate
    'clientOptions' => [  
       ...
    ],
]);

有什么想法吗?

1 个答案:

答案 0 :(得分:3)

如文档中所述,您只需将此数据放入项目中,例如: :

$items = [];
$products = Product::find()->all();
foreach ($products as $p) {
    $items[$p->id] = [
        'content' => p->FullDescription,
        'options' => ['data' => ['id'=>$p->id]],
    ];
}

echo Sortable::widget([
    ...
    'items' => $items,
    ...
]);

http://www.yiiframework.com/doc-2.0/yii-jui-sortable.html#$items-detail