コード例 #1
0
 /**
  * Lists all TabAd models.
  * @return mixed
  */
 public function actionIndex()
 {
     $searchModel = new TabAdSearch();
     $dataProvider = $searchModel->search(Yii::$app->request->queryParams);
     $gridColumns[] = ['class' => 'kartik\\grid\\SerialColumn', 'contentOptions' => ['class' => 'kartik-sheet-style'], 'width' => '36px', 'header' => '序号', 'headerOptions' => ['class' => 'kartik-sheet-style']];
     $gridColumns[] = ['attribute' => 'id', 'vAlign' => 'middle'];
     $gridColumns[] = ['attribute' => 'tab_id', 'vAlign' => 'middle', 'width' => '180px', 'value' => function ($searchModel, $key, $index, $widget) {
         return empty($searchModel->tab->name) ? null : $searchModel->tab->name;
     }, 'filterType' => GridView::FILTER_SELECT2, 'filter' => ArrayHelper::map(Tab::find()->orderBy('name')->asArray()->all(), 'id', 'name'), 'filterWidgetOptions' => ['pluginOptions' => ['allowClear' => true]], 'filterInputOptions' => ['placeholder' => 'tab'], 'format' => 'raw'];
     $gridColumns[] = 'content';
     $gridColumns[] = ['class' => 'kartik\\grid\\BooleanColumn', 'attribute' => 'status', 'width' => '100px', 'vAlign' => 'middle', 'trueLabel' => '启用', 'falseLabel' => '禁用'];
     $gridColumns[] = ['class' => '\\kartik\\grid\\ActionColumn', 'template' => '{view} {update} {delete}'];
     return $this->render('index', ['searchModel' => $searchModel, 'dataProvider' => $dataProvider, 'gridColumns' => $gridColumns]);
 }
コード例 #2
0
ファイル: TabSearch.php プロジェクト: npk/v2sex
 /**
  * Creates data provider instance with search query applied
  *
  * @param array $params
  *
  * @return ActiveDataProvider
  */
 public function search($params)
 {
     $query = Tab::find();
     $dataProvider = new ActiveDataProvider(['query' => $query, 'sort' => ['defaultOrder' => ['id' => SORT_DESC]]]);
     $this->load($params);
     if (!$this->validate()) {
         // uncomment the following line if you do not want to return any records when validation fails
         // $query->where('0=1');
         return $dataProvider;
     }
     $query->andFilterWhere(['id' => $this->id, 'sort' => $this->sort]);
     $query->andFilterWhere(['like', 'name', $this->name])->andFilterWhere(['like', 'enname', $this->enname]);
     return $dataProvider;
 }
コード例 #3
0
ファイル: NodeController.php プロジェクト: npk/v2sex
 /**
  * Lists all Node models.
  * @return mixed
  */
 public function actionIndex()
 {
     $searchModel = new NodeSearch();
     $dataProvider = $searchModel->search(Yii::$app->request->queryParams);
     $gridColumns[] = ['class' => 'kartik\\grid\\SerialColumn', 'contentOptions' => ['class' => 'kartik-sheet-style'], 'width' => '36px', 'header' => '序号', 'headerOptions' => ['class' => 'kartik-sheet-style']];
     $gridColumns[] = ['mergeHeader' => true, 'attribute' => 'logo24Show', 'header' => '图片', 'format' => 'html'];
     $gridColumns[] = ['attribute' => 'id', 'vAlign' => 'middle'];
     $gridColumns[] = ['attribute' => 'name', 'vAlign' => 'middle'];
     $gridColumns[] = ['attribute' => 'tab_id', 'vAlign' => 'middle', 'width' => '180px', 'value' => function ($searchModel, $key, $index, $widget) {
         return empty($searchModel->tab->name) ? null : $searchModel->tab->name;
     }, 'filterType' => GridView::FILTER_SELECT2, 'filter' => ArrayHelper::map(Tab::find()->orderBy('name')->asArray()->all(), 'id', 'name'), 'filterWidgetOptions' => ['pluginOptions' => ['allowClear' => true]], 'filterInputOptions' => ['placeholder' => 'tab'], 'format' => 'raw'];
     $gridColumns[] = ['attribute' => 'enname', 'vAlign' => 'middle'];
     $gridColumns[] = ['attribute' => 'parent_id', 'vAlign' => 'middle', 'width' => '180px', 'value' => function ($searchModel, $key, $index, $widget) {
         return empty($searchModel->parent->name) ? null : $searchModel->parent->name;
     }, 'filterType' => GridView::FILTER_SELECT2, 'filter' => ArrayHelper::map(Node::find()->orderBy('name')->asArray()->all(), 'id', 'name'), 'filterWidgetOptions' => ['pluginOptions' => ['allowClear' => true]], 'filterInputOptions' => ['placeholder' => '父节点'], 'format' => 'raw'];
     $gridColumns[] = ['attribute' => 'desc', 'vAlign' => 'middle'];
     $gridColumns[] = ['class' => 'kartik\\grid\\BooleanColumn', 'attribute' => 'is_hidden', 'width' => '100px', 'vAlign' => 'middle', 'trueLabel' => '是', 'falseLabel' => '否'];
     $gridColumns[] = ['class' => 'kartik\\grid\\BooleanColumn', 'attribute' => 'need_login', 'width' => '100px', 'vAlign' => 'middle', 'trueLabel' => '是', 'falseLabel' => '否'];
     $gridColumns[] = ['attribute' => 'sort', 'vAlign' => 'middle'];
     $gridColumns[] = ['mergeHeader' => true, 'attribute' => 'created', 'format' => 'datetime'];
     $gridColumns[] = ['class' => '\\kartik\\grid\\ActionColumn'];
     return $this->render('index', ['searchModel' => $searchModel, 'dataProvider' => $dataProvider, 'gridColumns' => $gridColumns]);
 }
コード例 #4
0
ファイル: Tab.php プロジェクト: advance100/yunjianyi
 /**
  * 获取节点的子节点,有缓存就获取缓存,用于主tab下面的子tab显示
  * @return array|\yii\db\ActiveRecord[]
  */
 static function SubTab($enname)
 {
     if (!($SubTab = Yii::$app->cache->get('SubTab' . $enname))) {
         $SubTab = Tab::find()->where(['enname' => $enname])->with('tabRight')->with('nodes')->asArray()->one();
         Yii::$app->cache->set('SubTab' . $enname, $SubTab, 0);
     }
     return $SubTab;
 }
コード例 #5
0
ファイル: SiteController.php プロジェクト: npk/v2sex
 public function actionIndex()
 {
     $this->title = Yii::$app->name;
     $this->description = 'V2SEX,一个很实在的技术宅的专属社区。在这里交流技术,各种创意点子,聊妹子,聊男人,同性恋,各种兴趣爱好,提问,甚至可以交流AV。';
     $tab = Yii::$app->request->get('tab');
     $sessionTab = Yii::$app->session->get('tab');
     if (Yii::$app->request->get('tab') === null) {
         if (empty($sessionTab)) {
             Yii::$app->session->set('tab', 'tech');
             $tab = 'tech';
         } else {
             $tab = $sessionTab;
         }
     } else {
         if (Tab::findOne(['enname' => $tab]) !== null) {
             Yii::$app->session->set('tab', $tab);
         } else {
             Yii::$app->session->set('tab', 'tech');
             $tab = 'tech';
         }
     }
     $tabModel = Tab::find()->where(['enname' => $tab])->one();
     if (!empty($tabModel->bg) && $tabModel->use_bg == 1) {
         $this->bg = $tabModel->bg;
     }
     if (!empty($tabModel->bg_color)) {
         $this->bg_color = $tabModel->bg_color;
     }
     if ($tab == 'new') {
         $topic = (new Query())->select('topic.*, node.enname, node.name, user.username, user.avatar')->from(Topic::tableName() . ' topic')->leftJoin(Node::tableName() . ' node', 'node.id = topic.node_id')->leftJoin(User::tableName() . ' user', 'user.id = topic.user_id')->where('node.is_hidden = 0')->orderBy(['topic.updated_at' => SORT_DESC])->limit(20)->all();
     } else {
         $topic = (new Query())->select('topic.*, node.enname, node.name, user.username, user.avatar')->from(Topic::tableName() . ' topic')->leftJoin(Node::tableName() . ' node', 'node.id = topic.node_id')->leftJoin(User::tableName() . ' user', 'user.id = topic.user_id')->where('node.is_hidden = 0')->andWhere(['in', 'topic.node_id', Tab::SubNodeId($tab)])->orderBy(['topic.updated_at' => SORT_DESC])->limit(20)->all();
     }
     return $this->render('index', ['topic' => $topic]);
 }
コード例 #6
0
ファイル: _form.php プロジェクト: advance100/yunjianyi
use yii\helpers\Html;
use yii\widgets\ActiveForm;
/* @var $this yii\web\View */
/* @var $model common\models\TabNav */
/* @var $form yii\widgets\ActiveForm */
?>

<div class="tab-nav-form">

    <?php 
$form = ActiveForm::begin();
?>

    <?php 
echo $form->field($model, 'tab_id')->widget(\kartik\select2\Select2::classname(), ['data' => \yii\helpers\ArrayHelper::map(\common\models\Tab::find()->all(), 'id', 'name'), 'options' => ['placeholder' => 'TAB'], 'pluginOptions' => ['allowClear' => true]]);
?>

    <?php 
echo $form->field($model, 'name')->textInput(['maxlength' => true]);
?>

    <?php 
echo $form->field($model, 'link')->textInput(['maxlength' => true]);
?>

    <?php 
echo $form->field($model, 'sort')->textInput();
?>

    <div class="form-group">