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

问题描述 投票:1回答:1

我正在使用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' => [  
       ...
    ],
]);

有任何想法吗?

widget jquery-ui-sortable yii2
1个回答
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

© www.soinside.com 2019 - 2024. All rights reserved.