2017-03-07 2 views
1

Anstatt die Baumansicht dieses YII-Plugins zu verwenden, möchte ich nur die Knoten erhalten, die in eine JSON-Zeichenkette formatiert sind.Yii2 Kartikelbaummanager JSON-export

Gibt es eine performante Möglichkeit, diesen JSON-Baum aus allen Knoten zu erstellen?

Antwort

0

Ich habe eine einfache Lösung: Erben von \kartik\tree\models\Tree und verwenden Sie den folgenden Code, um ein JSON-Array zu erhalten. Um den Baum zu erhalten, führen Sie einfach eine andere Funktion über die $nodes aus.

class Industry extends \kartik\tree\models\Tree 
{ 
    public static function getJSON() { 
     /** @var TreeQuery $query */ 
     $query = self::find() 
      ->addOrderBy('root, lft') 
      ->select(['id', 'active', 'name', 'selected', 'root', 'lft', 'rgt', 'lvl']); 


     /** @var array|ActiveRecord[] $nodes */ 
     $nodes = $query->all(); 

     return $nodes; 
    } 
}