Передача данных напрямую в yii2-tree-manager - PullRequest
0 голосов
/ 15 октября 2018

У меня есть узел дерева в моей форме.Я использую kartik-v's 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 голосов
/ 15 октября 2018

Вы можете сделать это, выполнив несколько хитростей или используя другой способ:

1) вы можете добавить условие к вашему запросу следующим образом:

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

этим решением выможет игнорировать нежелательные строки, как вы отправляете данные напрямую в массиве ...

2) вы можете использовать другое решение, используя js lib / plugin direct, например jsTree, в этом случае вы можете создавать и передавать собственный массив напрямую ..Посмотрите на этот пример: Пример jsTree

...