/Application/Frontend/Controllers/Block.php

https://gitlab.com/hoanghung.dev/phunuvadoisong.com · PHP · 130 lines · 109 code · 14 blank · 7 comment · 9 complexity · f201b648e529915d1acd05814015f94f MD5 · raw file

  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * User: Steven
  5. * Date: 13/05/2014
  6. * Time: 15:13
  7. */
  8. namespace Application\Frontend\Controllers;
  9. use Application\Frontend\Models\Image;
  10. use Application\Frontend\Models\News;
  11. use Application\Frontend\Models\Categories;
  12. use Application\Frontend\Models\Pages;
  13. use Application\Frontend\Models\Tags as Tag;
  14. class Block extends Base
  15. {
  16. public $arrBcrumb = array();
  17. public function boxMostViewed(){
  18. $newsModel = new News();
  19. $params['select'] = 'news_id, title, title_page, created_time, category_id, image';
  20. $params['order_by'] = 'created_time DESC';
  21. $params['limit'] = 5;
  22. $this->view->mostview = $newsModel->getDataArr($params);
  23. echo $this->render();
  24. }
  25. public function boxSideBar() {
  26. $newsModel = new News();
  27. $params['select'] = 'news_id, title, title_page, created_time, category_id, image';
  28. $params['order_by'] = 'created_time DESC';
  29. $params['limit'] = 10;
  30. $this->view->listsidebar = $newsModel->getDataArr($params);
  31. echo $this->render();
  32. }
  33. public function boxHeader() {
  34. $categoryModel = new Categories();
  35. $params['parent_id'] = '0';
  36. $params['order_by'] = 'order_no ASC';
  37. $params['limit'] = 30;
  38. //print_r($this->params());
  39. $this->view->category_id = 1;
  40. $this->view->listMenu = $categoryModel->getDataArr($params);
  41. echo $this->render();
  42. }
  43. public function boxImage(){
  44. $newsModel = new News();
  45. $params['select'] = 'news_id, title, title_page, created_time, category_id, image';
  46. $params['order_by'] = 'created_time DESC';
  47. $params['limit'] = 3;
  48. $this->view->listImage = $newsModel->getDataArr($params);
  49. echo $this->render();
  50. }
  51. function getCategoryId(){
  52. $params = $this->params();
  53. if($params['controller'] == 'category'){
  54. $id = $params['controller']['id'];
  55. }
  56. }
  57. public function breadcrumb(){
  58. $newsModel = new News();
  59. $params = $this->_request->getParams();
  60. $controller = $params['router']['controller'];
  61. $id = isset($params['id']) ? $params['id'] : '';
  62. $slug = isset($params['slug']) ? $params['slug'] : '';
  63. $mapArr = array();
  64. switch($controller){
  65. case 'article':
  66. $oneNews = $newsModel->getOne('news_id = ?',array($id),'news_id,category_id,title,slug');
  67. $this->recursionCategory($oneNews->category_id, 0);
  68. $mapArr[10]['title'] = $oneNews->title;
  69. $mapArr[10]['slug'] = $oneNews->slug . '-' . $oneNews->news_id . '.html';
  70. if(!empty($this->arrBcrumb)) foreach($this->arrBcrumb as $key => $value){
  71. $mapArr[$key] = $value;
  72. }
  73. break;
  74. case 'category':
  75. $category_model = new Categories();
  76. $category = $category_model->getOne('slug = :slug', array(':slug'=>$slug),'category_id');
  77. $this->recursionCategory($category->category_id, 0);
  78. if(!empty($this->arrBcrumb)) foreach($this->arrBcrumb as $key => $value){
  79. $mapArr[$key] = $value;
  80. }
  81. break;
  82. }
  83. $this->view->breadcrumb = array_reverse($mapArr);
  84. echo $this->render();
  85. }
  86. private function recursionCategory($cateId, $i){
  87. $categoryModel = new Categories();
  88. $dataCate = $categoryModel->getOne('category_id = :id',array(':id'=>$cateId),'parent_id,title,slug,category_id');
  89. if(isset($dataCate) && $dataCate != false){
  90. $this->arrBcrumb[$i]['title'] = $dataCate->title;
  91. $this->arrBcrumb[$i]['slug'] = _ROOT_HOME . $dataCate->slug;
  92. if($dataCate->parent_id != 0){
  93. $i++;
  94. $this->recursionCategory($dataCate->parent_id,$i);
  95. }
  96. }
  97. return true;
  98. }
  99. public function slide() {
  100. $pageModel = new Pages();
  101. $this->view->listSlider = $slider = $pageModel->getDataArr(array('type'=>2));
  102. echo $this->render();
  103. }
  104. public function search() {
  105. echo $this->render();
  106. }
  107. public function pageface() {
  108. echo $this->render();
  109. }
  110. public function boxFooter(){
  111. $categoryModel = new Categories();
  112. $params['parent_id'] = '0';
  113. $this->view->listMenu = $categoryModel->getDataArr($params);
  114. echo $this->render();
  115. }
  116. }