public function search($params) { $query = Nav::find(); $dataProvider = new ActiveDataProvider(['query' => $query]); if (!($this->load($params) && $this->validate())) { return $dataProvider; } $query->andFilterWhere(['id' => $this->id, 'root' => $this->root, 'lft' => $this->lft, 'rgt' => $this->rgt, 'level' => $this->level, 'target' => $this->target]); $query->andFilterWhere(['like', 'name', $this->name])->andFilterWhere(['like', 'url', $this->url]); return $dataProvider; }
/** * Creates data provider instance with search query applied * * @param array $params * * @return ActiveDataProvider */ public function search($params) { $query = Nav::find(); $dataProvider = new ActiveDataProvider(['query' => $query]); $this->load($params); if (!$this->validate()) { $query->where('0=1'); return $dataProvider; } $query->andFilterWhere(['id' => $this->id, 'pid' => $this->pid, 'order' => $this->sort_order, 'create_time' => $this->create_time, 'update_time' => $this->update_time, 'name' => $this->name]); $query->andFilterWhere(['like', 'url', $this->url]); return $dataProvider; }
<h1><?php echo Html::encode($this->title); ?> </h1> <p> <?php echo Html::a(Yii::t('app', 'Create Nav'), ['create'], ['class' => 'btn btn-success']); ?> </p> <?php $category = new Nav(); $roots = $category->roots()->all(); foreach ($roots as $key => $root) { $categories = Nav::find()->where(['root' => $root->id])->orderBy('lft')->all(); $level = 0; foreach ($categories as $n => $category) { if ($category->level == $level) { echo Html::endTag('li') . "\n"; } elseif ($category->level > $level) { echo Html::beginTag('ul') . "\n"; } else { echo Html::endTag('li') . "\n"; for ($i = $level - $category->level; $i; $i--) { echo Html::endTag('ul') . "\n"; echo Html::endTag('li') . "\n"; } } echo Html::beginTag('li'); echo Html::encode($category->name) . ' <span class="text-muted">(';
/** * Lists all Nav models. * @return mixed */ public function actionIndex() { $parent = Nav::find()->where(['pid' => 0])->orderBy(['sort_order' => SORT_ASC, 'id' => SORT_ASC])->all(); return $this->render('index', ['parent' => $parent]); }