PHPackages                             factorenergia/yii2-jstree-widget - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. factorenergia/yii2-jstree-widget

ActiveYii2-extension[Utility &amp; Helpers](/categories/utility)

factorenergia/yii2-jstree-widget
================================

jsTree widget for yii2

1.3.5(7y ago)04.6k↓50%MITPHP

Since Nov 9Pushed 7y agoCompare

[ Source](https://github.com/factorenergia/yii2-jstree-widget)[ Packagist](https://packagist.org/packages/factorenergia/yii2-jstree-widget)[ RSS](/packages/factorenergia-yii2-jstree-widget/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (4)Dependencies (3)Versions (16)Used By (0)

yii2-jstree-widget
==================

[](#yii2-jstree-widget)

[![Latest Stable Version](https://camo.githubusercontent.com/3199222f4b0e8ed9b1fff53efbb69999491c40016bb6c5e8a7518019e8f8bcf3/68747470733a2f2f706f7365722e707567782e6f72672f666163746f72656e65726769612f796969322d6a73747265652d7769646765742f762f737461626c65)](https://packagist.org/packages/factorenergia/yii2-jstree-widget)[![Total Downloads](https://camo.githubusercontent.com/b0d60b3b3f9d859aebdd1d69242b1cdbda78b008f3ed68e9f19c712698ce7e4c/68747470733a2f2f706f7365722e707567782e6f72672f666163746f72656e65726769612f796969322d6a73747265652d7769646765742f646f776e6c6f616473)](https://packagist.org/packages/factorenergia/yii2-jstree-widget)[![Latest Unstable Version](https://camo.githubusercontent.com/22640e5ed4682bf9ff111771bd5b2c1be2770cff4ee711808b0f084da6d9e7e4/68747470733a2f2f706f7365722e707567782e6f72672f666163746f72656e65726769612f796969322d6a73747265652d7769646765742f762f756e737461626c65)](https://packagist.org/packages/factorenergia/yii2-jstree-widget)[![License](https://camo.githubusercontent.com/d8e6e585adc126c99dfc19aee58a3ccce89bd7e61930e8fffbecbfab0eafdc4d/68747470733a2f2f706f7365722e707567782e6f72672f666163746f72656e65726769612f796969322d6a73747265652d7769646765742f6c6963656e7365)](https://packagist.org/packages/factorenergia/yii2-jstree-widget)

jsTree tree widget for yii2.

Current state: **WIP**.

Description
-----------

[](#description)

This extension allows you to display and manage hierarchical data structures from your database using [jsTree](https://www.jstree.com/).

For now following data structure types are supported:

- [adjacency list](https://en.wikipedia.org/wiki/Adjacency_list);
- [nested set](https://en.wikipedia.org/wiki/Nested_set_model).

Installation
------------

[](#installation)

The preferred way to install this extension is through [composer](http://getcomposer.org/download/).

Either run

```
composer require --prefer-dist factorenergia/yii2-jstree-widget "*"

```

or add the following to the `require` section of your `composer.json`

```
"factorenergia/yii2-jstree-widget" : "*"
```

Usage example
-------------

[](#usage-example)

For example, we have model Menu that represents our structured data. And MenuController for management purposes.

Adjacency List
--------------

[](#adjacency-list)

In the MenuController:

```
use factorenergia\JsTreeWidget\actions\AdjacencyList\FullTreeDataAction;
use factorenergia\JsTreeWidget\actions\AdjacencyList\TreeNodesReorderAction;
use factorenergia\JsTreeWidget\actions\AdjacencyList\TreeNodeMoveAction;
...
public function actions()
    {
        return [
            'getTree' => [
                'class' => FullTreeDataAction::class,
                'className' => Menu::class,
            ],
            'menuReorder' => [
                'class' => TreeNodesReorderAction::class,
                'className' => Menu::class,
            ],
            'menuChangeParent' => [
                'class' => TreeNodeMoveAction::class,
                'className' => Menu::class,
            ],
        ];
    }
```

In your view file call the widget in the right place:

```
