将数据直接传递给yii2-tree-manager

时间:2018-10-15 10:43:10

标签: yii2 treeview kartik-v

我的表单中有一个树节点。我正在使用kartik-v的Tree Manager。 这是我的查看代码:

echo TreeViewInput::widget([ 
  'query'             => Tree::find()->addOrderBy('root, lft'), 
  'headingOptions'    => ['label' => 'Set Permission'],
  'name'              => 'name',    
  'value'             => '1,2,3',     
  'asDropdown'        => false,           
  'multiple'          => true,            
  'fontAwesome'       => true,            
  'rootOptions'       => [
    'label' => '<i class="fa fa-tree"></i>', 
    'class' => 'text-success'
]);

但是,在这种情况下,我必须遵循与小部件中提到的相同的表结构。我有一些额外的字段和更多的权限。因此,使用相同的结构有点复杂。

是否可以将数组中的值直接传递到此小部件?如果可能的话,让我知道数组格式。

现在,我对这种树节点实现感到困惑。

1 个答案:

答案 0 :(得分:1)

您可以通过一些技巧或使用其他方式来做到这一点:

1)您可以像这样向查询中添加条件:

Tree::find()->andWhere(['not in','id',[2,3,4]])->addOrderBy('root, lft'), 

通过此解决方案,您可以忽略不需要的行,就像直接在数组中发送数据一样。

2)您可以通过使用像jsTree这样的js lib / plugin direct使用另一个解决方案,在这种情况下,您可以创建并传递直接自定义数组...请看以下示例:jsTree Example