public function actionIndex()
 {
     if (isset($_GET['id'])) {
         $model = News::model()->findByPk($_GET['id']);
         $model_photo = Photo::model()->getPhotoByAlbum($_GET['id']);
         //print_r($model_photo);
         $this->render('detail', array('model' => $model, 'model_photo' => $model_photo));
     } else {
         if ($_GET['type_id']) {
             $criteria = new CDbCriteria();
             $criteria->select = '*';
             $criteria->condition = 'status = 1 AND news_type_id=' . $_GET['type_id'];
             $criteria->order = "create_date desc,news_id desc";
             $total = News::model()->count($criteria);
             $pages = new CPagination($total);
             $pages->setPageSize(20);
             $pages->applyLimit($criteria);
             $model = News::model()->findAll($criteria);
             $type = NewsType::model()->findByPk($_GET['type_id']);
             $this->render('index', array('model' => $model, 'type' => $type, 'pages' => $pages));
         } else {
             if ($_GET['group']) {
                 $criteria = new CDbCriteria();
                 $criteria->select = '*';
                 $criteria->condition = 'status = 1 AND (news_type_id <> 2 AND news_type_id <> 3) AND news_group_id=' . $_GET['group'];
                 $criteria->order = "create_date desc,news_id desc";
                 $total = News::model()->count($criteria);
                 $pages = new CPagination($total);
                 $pages->setPageSize(20);
                 $pages->applyLimit($criteria);
                 $model = News::model()->findAll($criteria);
                 $group = NewsGroup::model()->findByPk($_GET['group']);
                 $this->render('index', array('model' => $model, 'group' => $group, 'pages' => $pages));
             } else {
                 $news_criteria = new CDbCriteria();
                 $news_criteria->condition = "status = 1 AND (news_type_id <> 2 AND news_type_id <> 3)";
                 $news_criteria->order = "create_date desc,news_id desc";
                 $news_total = News::model()->count($news_criteria);
                 $pages = new CPagination($news_total);
                 $pages->setPageSize(10);
                 $pages->applyLimit($news_criteria);
                 $model = News::model()->findAll($news_criteria);
                 $this->render('index', array('model' => $model, 'pages' => $pages));
             }
         }
     }
 }
Exemple #2
0
                            <li><a href="<?php 
    echo Yii::app()->createUrl('news/media');
    ?>
">จากสื่อ</a></li>
                            <li><a href="<?php 
    echo Yii::app()->createUrl('event');
    ?>
">ปฏิทินกิจกรรม</a></li>
                    </ul>-->
                    <ul>
                        <?php 
    $criteria = new CDbCriteria();
    $criteria->select = '*';
    $criteria->condition = '(news_type_id <> 2 AND news_type_id <> 3)';
    $criteria->order = 'sort_order';
    $NewsType = NewsType::model()->findAll($criteria);
    foreach ($NewsType as $group) {
        ?>
                        <li><a href="<?php 
        echo Yii::app()->createUrl('news', array('type_id' => $group->news_type_id));
        ?>
"><?php 
        echo $group->name_th;
        ?>
</a></li>        
                        <?php 
    }
    ?>
                    </ul>                    
                </li>
                <li><a <?php 
 /**
  * Manages all models.
  */
 public function actionAdmin()
 {
     if ($this->menu_use[3]) {
         $model = new News('search');
         $news_type_list = array();
         $criteria = new CDbCriteria();
         $criteria->condition = 'status=:status AND news_type_id<>2 AND news_type_id<>3';
         $criteria->params = array(':status' => 1);
         $criteria->order = 'sort_order';
         $news_type = NewsType::model()->findAll($criteria);
         foreach ($news_type as $type) {
             $news_type_list[$type->news_type_id] = $type->name_th;
         }
         $news_group_list = array();
         $criteria2 = new CDbCriteria();
         $criteria2->condition = 'status=:status AND news_type_id<>2 AND news_type_id<>3';
         $criteria2->params = array(':status' => 1);
         $criteria2->order = 'sort_order';
         $news_group = NewsGroup::model()->findAll($criteria2);
         foreach ($news_group as $group) {
             $news_group_list[$group->news_group_id] = $group->name_th;
         }
         $model->unsetAttributes();
         // clear any default values
         if (isset($_GET['News'])) {
             $model->attributes = $_GET['News'];
         }
         $this->render('admin', array('model' => $model, 'news_type_list' => $news_type_list, 'news_group_list' => $news_group_list));
     } else {
         $this->redirect(array('site/index'));
     }
 }
 /**
  * Returns the data model based on the primary key given in the GET variable.
  * If the data model is not found, an HTTP exception will be raised.
  * @param integer $id the ID of the model to be loaded
  * @return NewsType the loaded model
  * @throws CHttpException
  */
 public function loadModel($id)
 {
     $model = NewsType::model()->findByPk($id);
     if ($model === null) {
         throw new CHttpException(404, 'The requested page does not exist.');
     }
     return $model;
 }
Exemple #5
0
<?php

/* @var $this NewsController */
/* @var $model News */
$this->breadcrumbs = array('ประชาสัมพันธ์/กิจกรรม' => array('index'), 'จัดการข้อมูล');
$this->menu = array(array('label' => 'เพิ่มข้อมูล', 'url' => array('create')));
Yii::app()->clientScript->registerScript('search', "\n\$('.search-button').click(function(){\n\t\$('.search-form').toggle();\n\treturn false;\n});\n\$('.search-form form').submit(function(){\n\t\$('#news-grid').yiiGridView('update', {\n\t\tdata: \$(this).serialize()\n\t});\n\treturn false;\n});\n");
?>

<h1>จัดการประชาสัมพันธ์/กิจกรรม</h1>
<?php 
echo CHtml::link('ค้นหาแบบละเอียด', '#', array('class' => 'search-button'));
?>
<div class="search-form" style="display:none">
<?php 
$this->renderPartial('_search', array('model' => $model, 'news_type_list' => $news_type_list, 'news_group_list' => $news_group_list));
?>
</div><!-- search-form -->

<?php 
$this->widget('zii.widgets.grid.CGridView', array('id' => 'news-grid', 'dataProvider' => $model->search(), 'filter' => $model, 'columns' => array(array('header' => 'ลำดับ', 'type' => 'raw', 'value' => '$this->grid->dataProvider->pagination->currentPage*$this->grid->dataProvider->pagination->pageSize + $row+1', 'htmlOptions' => array('style' => 'text-align: center;width: 30px;')), array('name' => 'name_th', 'header' => 'หัวข้อข่าว', 'htmlOptions' => array('style' => 'text-align: left;')), array('name' => 'news_type_id', 'header' => 'ประเภทหลัก', 'value' => '$data->newsType->name_th', 'htmlOptions' => array('style' => 'text-align: left;width: 120px;'), 'filter' => CHtml::listData(NewsType::model()->findAll('status=1 AND news_type_id<>2 AND news_type_id<>3'), 'news_type_id', 'name_th')), array('name' => 'news_group_id', 'header' => 'ประเภทย่อย', 'value' => '$data->newsGroup->name_th', 'htmlOptions' => array('style' => 'text-align: left;width: 120px;'), 'filter' => CHtml::listData(NewsGroup::model()->findAll('status=1'), 'news_group_id', 'name_th')), array('name' => 'status', 'value' => '($data->status)? \'แสดง\' : \'ไม่แสดง\'', 'htmlOptions' => array('style' => 'text-align: center;width: 50px;'), 'filter' => array('1' => 'แสดง', '0' => 'ไม่แสดง')), array('class' => 'CButtonColumn', 'template' => '{update}&nbsp;&nbsp;{delete}', 'headerHtmlOptions' => array('style' => 'width:40px;'), 'htmlOptions' => array('style' => 'width:40px; text-align:center')))));