* @copyright (c), Thread */ class MenuItem extends \thread\modules\menu\models\MenuItem implements BaseBackendModel { /** * @var string */ public $title; /** * @var string */ private $_permanent_link; /** * @param $permanent_link */ public function setPermanent_link($permanent_link) { $this->_permanent_link = $permanent_link; } /** * @return string */ public function getPermanent_link() { return $this->link; } /** * @return array */ public function rules() { return ArrayHelper::merge(parent::rules(), [ [['permanent_link'], 'string', 'max' => 255], ]); } /** * @return array */ public function scenarios() { return ArrayHelper::merge(parent::scenarios(), [ 'backend' => [ 'permanent_link', ], ]); } /** * @param bool $insert * @return bool */ public function beforeSave($insert) { $this->link = ($this->link_type == 'permanent') ? $this->_permanent_link : ''; // if ($this->link === null) { // $this->link = ''; // } return parent::beforeSave($insert); } /** * @param $params * @return \yii\data\ActiveDataProvider */ public function search($params) { return (new search\MenuItem())->search($params); } /** * @param $params * @return \yii\data\ActiveDataProvider */ public function trash($params) { return (new search\MenuItem())->trash($params); } use \thread\app\helpers\tree\multi\MultiTreeModelTrait; /** * @param integer $tree */ public static function findTreeModel($tree = 0) { $models = self::find()->undeleted()->addOrderBy(['position' => SORT_ASC])->all(); foreach ($models as $model) { //заповнюємо моделі static::$treeModelCache[$model->id] = $model; } } }