Пример #1
0
    /**
     * @param $model - модель таблицы tbl_pages_tabs
     * Возращает HTML код блока вкладки
     */
    public function getTemplate($model)
    {
        $resultHTML = '';
        //Шаблоны
        $template = array(1 => '
                %description%
                %module_value%
            ', 2 => '
                %description%
                %module_value%
            ');
        //Общий шаблон
        switch ($model->site_module_id) {
            case 1:
                //Новости
                $template = array(1 => '
                        <div class="spisok">
                            <main class="all" role="main">
                                <div class="container">
                                    <h1 class="main-caption mg-bottom-24 caption-big">%title%</h1>
                                    %module_value%
                                </div>
                            </main>
                        </div>
                    ', 2 => '
                        <main class="all" role="main">
                            <div class="container">
                                <h2 class="main-caption mg-bottom-24">%title%</h2>
                            </div>
                        </main>
                        <div class="spisok fogr gray-bg">
                            <main class="all" role="main" style="padding-top:20px;">
                                <div class="container">
                                    %module_value%
                                </div>
                            </main>
                        </div>
                        ');
                break;
            case 6:
                //Статьи
                $template = array(1 => '
                        <div class="spisok">
                            <main class="all" role="main">
                                <div class="container">
                                    <h1 class="main-caption mg-bottom-24 caption-big">%title%</h1>
                                    %module_value%
                                </div>
                            </main>
                        </div>
                    ', 2 => '
                        <main class="all" role="main">
                            <div class="container">
                                <h2 class="main-caption mg-bottom-24">%title%</h2>
                            </div>
                        </main>
                        <div class="spisok fogr gray-bg">
                            <main class="all" role="main" style="padding-top:20px;">
                                <div class="container">
                                    %module_value%
                                </div>
                            </main>
                        </div>
                        ');
                break;
            case 16:
                //Отзывы
                $template = array(1 => '
                        <div class="spisok">
                            <main class="all" role="main">
                                <div class="container">
                                    <h1 class="main-caption mg-bottom-24 caption-big">%title%</h1>
                                    %module_value%
                                </div>
                            </main>
                        </div>
                    ', 2 => '
                        <main class="all" role="main">
                            <div class="container">
                                <h2 class="main-caption mg-bottom-24">%title%</h2>
                            </div>
                        </main>
                        <div class="spisok fogr gray-bg">
                            <main class="all" role="main" style="padding-top:20px;">
                                <div class="container">
                                    %module_value%
                                </div>
                            </main>
                        </div>
                        ');
                break;
            case 7:
                //Вопросы-ответы
                $template = array(1 => '
                        <div class="spisok">
                            <main class="all" role="main">
                                <div class="container faq" style="background: #ffffff;">
                                    <h1 class="main-caption mg-bottom-24 caption-big">%title%</h1>
                                    %module_value%
                                </div>
                            </main>
                        </div>
                    ', 2 => '
                        <main class="all" role="main">
                            <div class="container">
                                <h2 class="main-caption mg-bottom-24">%title%</h2>
                            </div>
                        </main>
                        <div class="spisok fogr gray-bg">
                            <main class="all" role="main" style="padding-top:20px;">
                                <div class="container faq">
                                    %module_value%
                                </div>
                            </main>
                        </div>
                        ');
                break;
            case 10:
                //Врачи
                $template = array(1 => '
                        <style>
                            #carusel20 .carusel-left {background-color: #fff;}
                            #carusel20 .carusel-right {background-color: #fff;}
                        </style>
                        <div class="doctor-slide">
		                    <main role="main" class="all" style="background:#fff">
                                <div class="container">
                                    <h2 class="main-caption mg-bottom-24">%title%</h2>
                                </div>
                            </main>
                            <div  class="gray-bg">
                                <main role="main" class="all">
                                    <div class="container">
                                        %description%
                                        <div id="carusel20_doc" class="owl-carousel owl-theme slider pos-relative mg-top-15">
                                            %module_value%
                                        </div>
                                    </div>
                                </main>
                            </div>
                        </div>
                    ', 2 => '
                        <div class="doctor-slide">
		                    <main role="main" class="all">
                                <div class="container">
                                    <h2 class="main-caption mg-bottom-24">%title%</h2>
                                </div>
                            </main>
                            <div  class="news-block gray-bg">
                                <main role="main" class="all">
                                    <div class="container">
                                        %description%
                                        <div id="carusel20_doc" class="owl-carousel owl-theme slider pos-relative mg-top-15">
                                            %module_value%
                                        </div>
                                    </div>
                                </main>
                            </div>
                        </div>
                    ');
                break;
            case 11:
                //Фотогалерея
                $template = array(1 => '
                        <style>
                            #carusel20 .carusel-left {background-color: #fff;}
                            #carusel20 .carusel-right {background-color: #fff;}
                            #carusel20_photo .owl-prev {margin-top:-80px;}
                            #carusel20_photo .owl-next {margin-top:-80px;}
                        </style>
                        <div class="doctor-slide">
		                    <main role="main" class="all" style="background:#fff">
                                <div class="container">
                                    <h2 class="main-caption mg-bottom-24 caption-big">%title%</h2>
                                </div>
                            </main>
                            <div  class="gray-bg">
                                <main role="main" class="all">
                                    <div class="container">
                                        %description%
                                        <div id="carusel20_photo" class="owl-carousel owl-theme slider pos-relative mg-top-15">
                                            %module_value%
                                        </div>
                                    </div>
                                </main>
                            </div>
                        </div>
                    ', 2 => '
                        <style>
                            #carusel20_photo .owl-prev {margin-top:-80px;}
                            #carusel20_photo .owl-next {margin-top:-80px;}
                        </style>
                        <div class="doctor-slide">
		                    <main role="main" class="all">
                                <div class="container">
                                    <h2 class="main-caption mg-bottom-24">%title%</h2>
                                </div>
                            </main>
                            <div  class="news-block gray-bg">
                                <main role="main" class="all">
                                    <div class="container">
                                        %description%
                                        <div id="carusel20_photo" class="owl-carousel owl-theme slider pos-relative mg-top-15">
                                            %module_value%
                                        </div>
                                    </div>
                                </main>
                            </div>
                        </div>
                    ');
                break;
            case 12:
                //До и После
                $template = array(1 => '
		                <main role="main" class="all" style="background:#fff">
                            <div class="container">
                                <h2 class="main-caption mg-bottom-24 caption-big">%title%</h2>
                            </div>
                        </main>
                        <div class="slide-after mg-bottom-20 mg-top-15">
                            <main class="all" role="main">
                                    %module_value%
                            </main>
                        </div>
                    ', 2 => '
                    <div  class="news-block gray-bg">
                    		                <main role="main" class="all">
                            <div class="container">
                                <h2 class="main-caption mg-bottom-24">%title%</h2>
                            </div>
                        </main>
                        <div class="slide-after mg-bottom-20 mg-top-15">
                            <main class="all" role="main">
                                %module_value%
                            </main>
                        </div>
                    </div>
                    ');
                break;
        }
        //Получаю темплейт для модуля
        $template_tmp = $template[$model->template_id];
        //Для врачей %module_value% - это карусель, для других вариантов - повторяем темплейт для каждого элемента
        $module_value_array = array();
        $module_count_elements = 0;
        foreach (explode("|", $model->site_module_value) as $data) {
            if (empty($data)) {
                continue;
            }
            ++$module_count_elements;
            $module_value_array[$data] = $data;
        }
        //Шаблоны элемента %module_value%
        switch ($model->site_module_id) {
            case 1:
                //Новости
                $tmp_module_value = '';
                foreach ($module_value_array as $value) {
                    if ($modelData = NewsGroup::model()->find('id in (' . $value . ') AND `status` = 1')) {
                        $i = 0;
                        $count = 5;
                        foreach (News::model()->findAll('group_id=' . $modelData->id . ' AND `status` = 1') as $modelElements) {
                            ++$i;
                            if ($i > $count) {
                                continue;
                            }
                            $tmp_module_value .= '
                            <div class="ot">
                                <span href="#">' . $modelData->name . ' - ' . date("d.m.Y", strtotime($modelElements->maindate)) . '</span></span><BR>
                                ' . $modelElements->name . '
                            ';
                            if (!empty($modelElements->brieftext)) {
                                $tmp_module_value .= '<BR>' . $modelElements->brieftext;
                            }
                            $tmp_module_value .= '</div>';
                        }
                        if ($i > 0) {
                            $tmp_module_value .= '<a class="all-otv" href="/news/' . $modelData->url . '">Все новости</a>';
                        }
                    }
                }
                $resultHTML = $template_tmp;
                $title = $model->title;
                $resultHTML = str_replace("%module_value%", $tmp_module_value, $resultHTML);
                break;
            case 6:
                //Статьи
                $tmp_module_value = '';
                foreach ($module_value_array as $value) {
                    if ($modelData = ArticleRubrics::model()->find('id in (' . $value . ') AND `status` = 1')) {
                        $i = 0;
                        $count = 5;
                        foreach (ArticleElements::model()->findAll('parent_id=' . $modelData->id . ' AND `status` = 1') as $modelElements) {
                            ++$i;
                            if ($i > $count) {
                                continue;
                            }
                            $tmp_module_value .= '
                            <div class="review_block">
                                <span>' . $modelElements->name . ' - ' . date("d.m.Y", strtotime($modelElements->maindate)) . '</span><BR>
                                <p>' . $modelElements->brieftext . '</p>
                            </div>';
                        }
                        if ($i > 0) {
                            $tmp_module_value .= '<a class="all-otv" style="margin-bottom:20px;" href="' . Yii::app()->request->requestUri . '/' . ($module_count_elements > 1 ? $modelData->url . '/' : '') . 'article">Все статьи</a>';
                        }
                    }
                }
                $resultHTML = $template_tmp;
                $title = $model->title;
                $resultHTML = str_replace("%module_value%", $tmp_module_value, $resultHTML);
                break;
            case 7:
                //Вопрос-ответ
                $tmp_module_value = '';
                foreach ($module_value_array as $value) {
                    if ($modelData = FaqRubrics::model()->find('id in (' . $value . ') AND `status` = 1')) {
                        $i = 0;
                        $count = 5;
                        foreach (FaqElements::model()->findAll('parent_id=' . $modelData->id . ' AND `status` = 1') as $modelElements) {
                            ++$i;
                            if ($i > $count) {
                                continue;
                            }
                            $modelAuthor = FaqAuthor::model()->findByPk($modelElements->author_id);
                            $tmp_module_value .= '
                                <article>
                                    <div class="question">
                                            <span href="#" style="color:#ed174f; font-size: 16px; font-weight: bold; margin-left: 20px;">' . $modelAuthor->name . '<span> / ' . $modelData->name . ' - ' . date("d.m.Y", strtotime($modelElements->question_data)) . '</span></span>
                                            <div class="q_data">
                                                ' . $modelElements->question . '
                                            </div>
                                    </div>
                                ';
                            if (!empty($modelElements->answer)) {
                                $tmp_module_value .= '<div class="unswer"><div class="u_data">' . $modelElements->answer . '</div></div>';
                            }
                            $tmp_module_value .= '</article>';
                        }
                        if ($i > 0) {
                            $tmp_module_value .= '<a class="all-otv" href="' . Yii::app()->request->requestUri . '/' . ($module_count_elements > 1 ? $modelData->url . '/' : '') . 'faq" style="position:relative; z-index:99999; margin-bottom:20px;">Все ответы</a>';
                        }
                    }
                }
                $resultHTML = $template_tmp;
                $title = $model->title;
                $resultHTML = str_replace("%module_value%", $tmp_module_value, $resultHTML);
                break;
            case 16:
                //Отзывы
                $tmp_module_value = '';
                foreach ($module_value_array as $value) {
                    if ($modelData = ReviewRubrics::model()->find('id in (' . $value . ') AND `status` = 1')) {
                        $i = 0;
                        $count = 5;
                        foreach (ReviewElements::model()->findAll('parent_id=' . $modelData->id . ' AND `status` = 1') as $modelElements) {
                            ++$i;
                            if ($i > $count) {
                                continue;
                            }
                            $modelAuthor = ReviewAuthor::model()->findByPk($modelElements->author_id);
                            $tmp_module_value .= '
                            <div class="review_block" style="padding: 10px; margin-bottom: 10px; margin-top:20px;">
                                <span href="#">' . $modelAuthor->name . '<span> / ' . $modelData->name . ' - ' . date("d.m.Y", strtotime($modelElements->review_data)) . '</span></span><BR>
                                <p>' . $modelElements->review . '</p>
                            </div>';
                        }
                        if ($i > 0) {
                            $tmp_module_value .= '<a class="all-otv" href="' . Yii::app()->request->requestUri . '/' . ($module_count_elements > 1 ? $modelData->url . '/' : '') . 'review" style="position:relative; z-index:99999; margin-bottom:20px;">Все отзывы</a>';
                        }
                    }
                }
                $resultHTML = $template_tmp;
                $title = $model->title;
                $resultHTML = str_replace("%module_value%", $tmp_module_value, $resultHTML);
                break;
            case 10:
                //Врачи
                $tmp_module_value = '';
                foreach (DoctorElements::model()->findAll('id in (' . implode(",", $module_value_array) . ')') as $data) {
                    $tmp_module_value .= '
                    <div class="item">
                            <div class="doctor">
                                <figure>
                                    ' . (!empty($data->image) ? '<img src="/uploads/filestorage/doctor/elements/medium-' . $data->id . '.' . $data->image . '">' : '') . '
                                </figure>
                                <h1>' . $data->name . '</h1>
                                <article style="margin-top:10px;" class="text-center">
                                    ' . $data->anonse . '
                                </article>
                            </div>
                    </div>
                ';
                }
                $resultHTML = $template_tmp;
                $title = $model->title;
                $resultHTML = str_replace("%module_value%", $tmp_module_value, $resultHTML);
                break;
            case 11:
                //Фотогалерея
                $tmp_module_value = '';
                foreach (PhotoElements::model()->findAll('parent_id in (' . implode(",", $module_value_array) . ')') as $data) {
                    $tmp_module_value .= '
                    <div class="item">
                            <div class="doctor">
                                <figure>
                                    ' . (!empty($data->image) ? '<a href="/photo/' . $data->parent->url . '">
                                    <div style="height: 212px; background: url(/uploads/filestorage/photo/elements/medium-' . $data->id . '.' . $data->image . ') 100% 100% no-repeat; background-size: cover;">
                                    </div>
                                    </a>' : '') . '
                                </figure>
                            </div>
                    </div>
                ';
                }
                $resultHTML = $template_tmp;
                $title = $model->title;
                $resultHTML = str_replace("%module_value%", $tmp_module_value, $resultHTML);
                break;
            case 12:
                //До и После
                $tmp_module_value = '';
                foreach (BeforeAfterRubrics::model()->findAll('id in (' . implode(",", $module_value_array) . ')') as $data) {
                    if ($modelImage = BeforeAfterElements::model()->find('parent_id=' . $data->id . ' ORDER BY on_main DESC')) {
                        //URL
                        $parent_url = array();
                        if (!empty($data)) {
                            $modelTop = BeforeAfterRubrics::model()->findByPk($data->id);
                            foreach ($modelTop->ancestors()->findAll('level>1') as $dataTop) {
                                $parent_url[] = $dataTop->url;
                            }
                            $parent_url[] = $modelTop->url;
                        }
                        $tmp_module_value .= '
                        <div class="container">
                            <a href="/before-after/' . (!empty($parent_url) ? implode("/", $parent_url) : '') . '"><h4>' . $data->name . '</h4></a>
                            <div class="spisok af-line">
                                <a href="/before-after/' . (!empty($parent_url) ? implode("/", $parent_url) : '') . '">
                                <div class="after">
                                    <figure>
                                        <img src="/uploads/filestorage/beforeafter/elements/medium2-before_' . $modelImage->id . '.' . $modelImage->before_photo . '">
                                        <figcaption> ДО </figcaption>
                                    </figure>
                                    <figure>
                                        <img src="/uploads/filestorage/beforeafter/elements/medium2-after_' . $modelImage->id . '.' . $modelImage->before_photo . '">
                                        <figcaption> ПОСЛЕ </figcaption>
                                    </figure>
                                </div>
                                </a>
                            </div>
                        </div>
                        ';
                    }
                }
                $resultHTML = $template_tmp;
                $title = $model->title;
                $resultHTML = str_replace("%module_value%", $tmp_module_value, $resultHTML);
                break;
            case 17:
                //HTML код
                $tmp_module_value = '';
                foreach (HtmlCode::model()->findAll('id in (' . implode(",", $module_value_array) . ') AND `status`=1') as $data) {
                    $tmp_module_value .= $data->code;
                }
                $resultHTML = $template_tmp;
                $title = '';
                $resultHTML = str_replace("%module_value%", $tmp_module_value, $resultHTML);
                break;
            default:
                $tmp_module_value = '';
                $tabel_name = $this->moduleID[$model->site_module_id];
                foreach (Yii::app()->db->createCommand()->select('*')->from($tabel_name)->queryAll() as $data) {
                    if (!isset($data['description']) || empty($data['description'])) {
                        continue;
                    }
                    $tmp_module_value .= $data['description'];
                }
                $resultHTML .= $template_tmp;
                $title = $model->title;
                $resultHTML = str_replace("%module_value%", $tmp_module_value, $resultHTML);
                break;
        }
        $resultHTML = str_replace("%title%", $title, $resultHTML);
        $resultHTML = str_replace("%description%", $model->description, $resultHTML);
        return $resultHTML;
    }
 /**
  * Manages all models.
  */
 public function actionAdmin()
 {
     if ($this->menu_use[3]) {
         $model = new News('searchInSide');
         $news_type_list = array();
         $criteria = new CDbCriteria();
         $criteria->condition = 'status=:status AND news_type_id=5';
         $criteria->params = array(':status' => 1);
         $criteria->order = 'sort_order';
         $news_type = NewsGroup::model()->findAll($criteria);
         foreach ($news_type as $type) {
             $news_type_list[$type->news_group_id] = $type->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));
     } 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 NewsGroup the loaded model
  * @throws CHttpException
  */
 public function loadModel($id)
 {
     $model = NewsGroup::model()->findByPk($id);
     if ($model === null) {
         throw new CHttpException(404, 'The requested page does not exist.');
     }
     return $model;
 }
Пример #4
0
 public function actionGroupMedia($id)
 {
     $news_criteria = new CDbCriteria();
     $news_criteria->condition = "status = 1 AND news_group_id =" . $id;
     $news_criteria->order = "create_date desc,news_id desc";
     $news_total = News::model()->count($news_criteria);
     $newsGroup = NewsGroup::model()->findByPk($id);
     $pages = new CPagination($news_total);
     $pages->setPageSize(10);
     $pages->applyLimit($news_criteria);
     $news = News::model()->findAll($news_criteria);
     $this->render('media', array('news' => $news, 'pages' => $pages, 'newsGroup' => $newsGroup));
 }
Пример #5
0
<?php

/* @var $this NewsInSideController */
/* @var $model News */
$this->breadcrumbs = array('ประชาสัมพันธ์/กิจกรรม ภายใน' => array('index'), 'จัดการข้อมูล');
$this->menu = array(array('label' => 'เพิ่มข้อมูล', 'url' => array('create')), array('label' => 'ประเภท', 'url' => array('newsGroup/index')));
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));
?>
</div><!-- search-form -->

<?php 
$this->widget('zii.widgets.grid.CGridView', array('id' => 'news-grid', 'dataProvider' => $model->searchInSide(), '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_group_id', 'header' => 'ประเภท', 'value' => '$data->newsGroup->name_th', 'htmlOptions' => array('style' => 'text-align: left;width: 100px;'), 'filter' => CHtml::listData(NewsGroup::model()->findAll('status=1 AND news_type_id=5'), 'news_group_id', 'name_th')), array('name' => 'create_date', 'value' => 'Controller::getThaiDate($data->create_date,"dmY")', 'htmlOptions' => array('style' => 'text-align: left;width: 80px;')), 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')))));
Пример #6
0
    $news_type = NewsType::model()->findAll($criteria);
    foreach ($news_type as $type) {
        ?>
        <li><h6><a href="<?php 
        echo Yii::app()->createUrl('news', array('type_id' => $type->news_type_id));
        ?>
"><?php 
        echo $type->name_th;
        ?>
</a></h6></li>
            <?php 
        $criteria2 = new CDbCriteria();
        $criteria2->condition = 'status=:status AND news_type_id=:news_type_id';
        $criteria2->params = array(':status' => 1, ':news_type_id' => $type->news_type_id);
        $criteria2->order = 'sort_order';
        $news_group = NewsGroup::model()->findAll($criteria2);
        foreach ($news_group as $group) {
            ?>
            <li><a href="<?php 
            echo Yii::app()->createUrl('news', array('group' => $group->news_group_id));
            ?>
"><img src="<?php 
            echo Yii::app()->request->baseUrl;
            ?>
/images/front/marker_2.gif" border="0" style="padding-top: 7px"/>&nbsp;<?php 
            echo $group->name_th;
            ?>
</a></li>        
            <?php 
        }
        ?>
Пример #7
0
                <div class="container news-all">
                    <?php 
$i = 0;
?>
                    <?php 
foreach ($model['no_group'] as $data) {
    ?>
                        <?php 
    ++$i;
    ?>
                        <?php 
    if ($i % 2 != 0) {
        echo '<div class="press-line">';
    }
    ?>
                            <?php 
    echo NewsGroup::model()->returnDesignElement($data);
    ?>
                        <?php 
    if ($i % 2 == 0) {
        echo '</div>';
    }
    ?>
                    <?php 
}
?>
                </div>
            </main>
        </div>
    </section>