Example #1
0
 /**
  * Creates data provider instance with search query applied
  *
  * @param array $params
  *
  * @return ActiveDataProvider
  */
 public function search($params)
 {
     $query = MenuType::find();
     $dataProvider = new ActiveDataProvider(['query' => $query]);
     if (!($this->load($params) && $this->validate())) {
         return $dataProvider;
     }
     $query->andFilterWhere(['id' => $this->id, 'created_at' => $this->created_at, 'updated_at' => $this->updated_at, 'created_by' => $this->created_by, 'updated_by' => $this->updated_by, 'lock' => $this->lock]);
     $query->andFilterWhere(['like', 'title', $this->title])->andFilterWhere(['like', 'alias', $this->alias])->andFilterWhere(['like', 'note', $this->note]);
     return $dataProvider;
 }
Example #2
0
    <span class="input-group-btn">
            <?php 
echo Html::submitButton('<i class="glyphicon glyphicon-search"></i>', ['class' => 'btn btn-default']);
?>
        </span>
</div>

<?php 
echo Html::endForm();
?>

<?php 
$menuItems = [['label' => Yii::t('gromver.platform', 'System'), 'items' => [['label' => Yii::t('gromver.platform', 'Control Panel'), 'url' => ['/grom/default/index']], '<li class="divider"></li>', ['label' => Yii::t('gromver.platform', 'Configuration'), 'url' => ['/grom/default/params']], '<li class="divider"></li>', ['label' => Yii::t('gromver.platform', 'Users'), 'url' => ['/grom/user/default/index']], '<li class="divider"></li>', ['label' => Yii::t('gromver.platform', 'Flush Cache'), 'url' => ['/grom/default/flush-cache']]]], ['label' => Yii::t('gromver.platform', 'Menu'), 'items' => array_merge([['label' => Yii::t('gromver.platform', 'Menu Types'), 'url' => ['/grom/menu/type/index']], ['label' => Yii::t('gromver.platform', 'Menu Items'), 'url' => ['/grom/menu/item/index']], '<li class="divider"></li>'], array_map(function ($value) {
    /** @var $value \gromver\platform\common\models\MenuType */
    return ['label' => $value->title, 'url' => ['/grom/menu/item/index', 'MenuItemSearch' => ['menu_type_id' => $value->id]]];
}, \gromver\platform\common\models\MenuType::find()->all()))], ['label' => Yii::t('gromver.platform', 'Content'), 'items' => [['label' => Yii::t('gromver.platform', 'Pages'), 'url' => ['/grom/page/default/index']], '<li class="divider"></li>', ['label' => Yii::t('gromver.platform', 'Categories'), 'url' => ['/grom/news/category/index']], ['label' => Yii::t('gromver.platform', 'Posts'), 'url' => ['/grom/news/post/index']], '<li class="divider"></li>', ['label' => Yii::t('gromver.platform', 'Tags'), 'url' => ['/grom/tag/default/index']], '<li class="divider"></li>', ['label' => Yii::t('gromver.platform', 'Media Manager'), 'url' => ['/grom/media/default/index']]]], ['label' => Yii::t('gromver.platform', 'Components'), 'items' => [['label' => Yii::t('gromver.platform', 'Version Manager'), 'url' => ['/grom/version/default/index']], ['label' => Yii::t('gromver.platform', "Widget's Settings"), 'url' => ['/grom/widget/default/index']], ['label' => Yii::t('gromver.platform', 'Search'), 'url' => ['/grom/search/default/index']]]]];
if (Yii::$app->user->isGuest) {
    $menuItems[] = ['label' => Yii::t('gromver.platform', 'Login'), 'url' => Yii::$app->user->loginUrl];
} else {
    $menuItems[] = ['label' => '<i class="glyphicon glyphicon-user"></i> ' . Yii::$app->user->identity->username, 'items' => [['label' => '<i class="glyphicon glyphicon-envelope"></i> ' . Yii::t('gromver.platform', 'Contact'), 'url' => ['/grom/default/contact']], '<li class="divider"></li>', ['label' => '<i class="glyphicon glyphicon-cog"></i> ' . Yii::t('gromver.platform', 'Profile'), 'url' => ['/grom/user/default/update', 'id' => Yii::$app->user->id]], ['label' => '<i class="glyphicon glyphicon-log-out"></i> ' . Yii::t('gromver.platform', 'Logout'), 'url' => ['/grom/auth/default/logout']]]];
}
?>
<div class="navbar-right">

    <?php 
echo Nav::widget(['options' => ['class' => 'navbar-nav navbar-left'], 'items' => $menuItems, 'encodeLabels' => false]);
?>

    <div class="input-group navbar-left">
        <?php 
echo Html::tag('span', Yii::t('gromver.platform', 'Language'), ['class' => 'navbar-text']) . '&nbsp;';
Example #3
0
 /**
  * @return \yii\db\ActiveQuery
  */
 public function getMenuType()
 {
     return $this->hasOne(MenuType::className(), ['id' => 'menu_type_id']);
 }
Example #4
0
 /**
  * Finds the Menu model based on its primary key value.
  * If the model is not found, a 404 HTTP exception will be thrown.
  * @param integer $id
  * @return MenuType the loaded model
  * @throws NotFoundHttpException if the model cannot be found
  */
 protected function findModel($id)
 {
     if (($model = MenuType::findOne($id)) !== null) {
         return $model;
     } else {
         throw new NotFoundHttpException(Yii::t('gromver.platform', 'The requested page does not exist.'));
     }
 }
Example #5
0
?>
</a></li>
        <li><a href="#link-options" data-toggle="tab"><?php 
echo Yii::t('gromver.platform', 'Link params');
?>
</a></li>
        <li><a href="#meta-options" data-toggle="tab"><?php 
echo Yii::t('gromver.platform', 'Metadata');
?>
</a></li>
    </ul>
    <br/>
    <div class="tab-content">
        <div id="main" class="tab-pane active">
            <?php 
echo $form->field($model, 'menu_type_id')->dropDownList(['' => Yii::t('gromver.platform', 'Select ...')] + \yii\helpers\ArrayHelper::map(\gromver\platform\common\models\MenuType::find()->all(), 'id', 'title'), ['id' => 'menu_type_id']);
?>

            <?php 
echo $form->field($model, 'language')->dropDownList(Yii::$app->getLanguagesList(), ['prompt' => Yii::t('gromver.platform', 'Select ...'), 'id' => 'language']);
?>

            <?php 
echo $form->field($model, 'parent_id')->widget(\kartik\widgets\DepDrop::className(), ['pluginOptions' => ['depends' => ['menu_type_id', 'language'], 'placeholder' => Yii::t('gromver.platform', 'Select ...'), 'url' => \yii\helpers\Url::to(['type-items', 'update_item_id' => $model->isNewRecord ? null : $model->id, 'selected' => $model->parent_id])]]);
?>

            <?php 
echo $form->field($model, 'title')->textInput(['maxlength' => 1024, 'placeholder' => isset($sourceModel) ? $sourceModel->title : null]);
?>

            <?php 
Example #6
0
    <?php 
/*<p>
        <?= Html::a(Yii::t('gromver.platform', 'Create {modelClass}', [
    'modelClass' => 'Menu',
]), ['create'], ['class' => 'btn btn-success']) ?>
    </p>*/
?>

    <?php 
echo GridView::widget(['id' => 'table-grid', 'dataProvider' => $dataProvider, 'filterModel' => $searchModel, 'pjax' => true, 'pjaxSettings' => ['neverTimeout' => true], 'columns' => [['class' => 'yii\\grid\\CheckboxColumn'], ['attribute' => 'id', 'width' => '50px'], ['attribute' => 'language', 'width' => '80px', 'value' => function ($model) {
    /** @var $model \gromver\platform\common\models\MenuItem */
    return \gromver\platform\backend\widgets\Translator::widget(['model' => $model]);
}, 'format' => 'raw', 'filter' => Yii::$app->getLanguagesList()], ['attribute' => 'menu_type_id', 'width' => '100px', 'value' => function ($model) {
    /** @var $model \gromver\platform\common\models\MenuItem */
    return $model->menuType->title;
}, 'filter' => \yii\helpers\ArrayHelper::map(\gromver\platform\common\models\MenuType::find()->all(), 'id', 'title')], ['attribute' => 'title', 'value' => function ($model) {
    /** @var $model \gromver\platform\common\models\MenuItem */
    return str_repeat(" • ", max($model->level - 2, 0)) . $model->title . '<br/>' . Html::tag('small', $model->path);
}, 'format' => 'html'], 'link', ['attribute' => 'status', 'value' => function ($model) {
    /** @var $model \gromver\platform\common\models\MenuItem */
    return Html::beginTag('div', ['class' => 'btn-group']) . Html::a('<i class="glyphicon glyphicon-star"></i>', \yii\helpers\Url::to(['status', 'id' => $model->id, 'status' => $model::STATUS_MAIN_PAGE]), ['class' => 'btn btn-xs' . ($model::STATUS_MAIN_PAGE == $model->status ? ' btn-success active' : ' btn-default'), 'data-pjax' => 0, 'data-method' => 'post']) . Html::a('<i class="glyphicon glyphicon-ok-circle"></i>', \yii\helpers\Url::to(['status', 'id' => $model->id, 'status' => $model::STATUS_PUBLISHED]), ['class' => 'btn btn-xs' . ($model::STATUS_PUBLISHED == $model->status ? ' btn-primary active' : ' btn-default'), 'data-pjax' => 0, 'data-method' => 'post']) . Html::a('<i class="glyphicon glyphicon-remove-circle"></i>', \yii\helpers\Url::to(['status', 'id' => $model->id, 'status' => $model::STATUS_UNPUBLISHED]), ['class' => 'btn btn-xs' . ($model::STATUS_UNPUBLISHED == $model->status ? ' btn-default active' : ' btn-default'), 'data-pjax' => 0, 'data-method' => 'post']) . Html::endTag('div');
}, 'filter' => \gromver\platform\common\models\MenuItem::statusLabels(), 'width' => '90px', 'format' => 'raw'], ['attribute' => 'ordering', 'value' => function ($model) {
    /** @var $model \gromver\platform\common\models\MenuItem */
    return Html::input('text', 'order', $model->ordering, ['class' => 'form-control']);
}, 'format' => 'raw', 'width' => '50px'], ['class' => 'kartik\\grid\\ActionColumn', 'deleteOptions' => ['data-method' => 'delete']]], 'responsive' => true, 'hover' => true, 'condensed' => true, 'floatHeader' => true, 'bordered' => false, 'panel' => ['heading' => '<h3 class="panel-title"><i class="glyphicon glyphicon-th-list"></i> ' . Html::encode($this->title) . ' </h3>', 'type' => 'info', 'before' => Html::a('<i class="glyphicon glyphicon-plus"></i> ' . Yii::t('gromver.platform', 'Add'), ['create', 'menu_type_id' => $searchModel->menu_type_id], ['class' => 'btn btn-success', 'data-pjax' => '0']), 'after' => Html::a('<i class="glyphicon glyphicon-sort-by-attributes"></i> ' . Yii::t('gromver.platform', 'Ordering'), ['ordering'], ['class' => 'btn btn-default', 'data-pjax' => '0', 'onclick' => 'processOrdering(this); return false']) . ' ' . Html::a('<i class="glyphicon glyphicon-trash"></i> ' . Yii::t('gromver.platform', 'Delete'), ['bulk-delete'], ['class' => 'btn btn-danger', 'data-pjax' => '0', 'onclick' => 'processAction(this); return false']) . ' ' . Html::a('<i class="glyphicon glyphicon-repeat"></i> ' . Yii::t('gromver.platform', 'Reset List'), ['index'], ['class' => 'btn btn-info']), 'showFooter' => false]]);
?>

</div>

<script>
    function processOrdering(el) {