zlatov/yii-components

Некоторые дополнения для yii2

1.1.2 2017-06-09 05:59 UTC

This package is auto-updated.

Last update: 2024-09-28 04:43:48 UTC


README

  1. Поведения (behaviors)
  2. Примеси (traits)
  3. Виджеты (widgets)
  4. Хелперы (helpers)
  5. Ресурсы (assets)

Поведения (behaviors)

Sid

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

Использование

use \Zlatov\yiiComponents\behaviors\Sid;

...

    public function behaviors()
    {
        return [

            ...

            'sid' => [
                'class' => Sid::className(),
                'in_attribute' => 'header',
            ],

            ...

        ];
    }
    
    ...

    public function rules()
    {
        return Sid::calcRules(parent::rules());
    }

Примеси (traits)

Sid

Tree

Предоставляет модели методы получающие данные из базы и преобразующие их для удобного вывода в виде дерева.

Использование

Модель

class ...
{
    use \Zlatov\yiiComponents\traits\Tree;

    private static $treeOptions = [
        'fnId' => 'id',
        'fnPid' => 'pid',
        'fnChildrens' => 'childrens',
        'fnHeader' => 'header',
        'fnLevel' => 'level',
        'idOfTheRoot' => null,
        'addRoot' => false,
        'returnOnly' => null,
        'clearFromNonRoot' => true,
        'rootName' => 'Нет родителя (этот элемент корневой)',
        'forSelect' => false,
        'order' => [
            'level' => SORT_ASC,
            'order' => SORT_ASC,
        ],
    ];

Контроллер

    public function actionIndex()
    {
        $sections = Section::treeMulti();

        return $this->render('index', [
            'sections' => $sections,
        ]);
    }

Представление

    <?= Zlatov\yiiComponents\widgets\ViewTree::widget([
        'viewTree' => $sections,
        'options' => [
            'admin' => true,
        ],
        'model' => null
    ]) ?>

Виджеты (widgets)

ViewTree

Хелперы (helpers)

Text

Ресурсы (assets)

ViewTreeAsset

<?= ViewTree::widget([
	'ztree' => $current_menu,
	'current_id' => $model->id,
]) ?>

ViewTreeSelectAsset

FormAsset

Использование

Zlatov\yiiComponents\assets\FormAsset::register($this);