Blame view

frontend/controllers/SiteController.php 6.17 KB
3f2bc3d0   Administrator   first commit
1
  <?php
7ba4acc5   Administrator   after marge
2
  
3f2bc3d0   Administrator   first commit
3
4
  namespace frontend\controllers;
  
0ff57d01   Administrator   image size
5
  use common\modules\product\models\Category;
02e6c2ba   Karnovsky A   -
6
7
8
  use common\modules\product\models\CategorySearch;
  use common\modules\product\models\Product;
  use common\modules\product\models\ProductVariant;
3f2bc3d0   Administrator   first commit
9
  use Yii;
3f2bc3d0   Administrator   first commit
10
  use yii\web\Controller;
7ba4acc5   Administrator   after marge
11
  use common\models\Page;
d8410708   Administrator   14.09.16
12
  
3f2bc3d0   Administrator   first commit
13
  
3f2bc3d0   Administrator   first commit
14
15
  class SiteController extends Controller
  {
ccc7a9d3   Karnovsky A   Karnovsky 12052016
16
17
18
19
20
21
22
23
24
      /**
       * @inheritdoc
       */
      public function actions()
      {
          return [
              'thumb' => 'iutbay\yii2imagecache\ThumbAction',
          ];
      }
055ecc3b   Karnovsky A   Karnovsky 11052016
25
  
3f2bc3d0   Administrator   first commit
26
27
      public function actionIndex()
      {
055ecc3b   Karnovsky A   Karnovsky 11052016
28
  
7ba4acc5   Administrator   after marge
29
          $modelText = Page::find()->where(['translit'=>'home'])->one();
b6b226d0   Administrator   01.06.16
30
  
7ba4acc5   Administrator   after marge
31
32
          return $this->render('index', [
              'text'=>$modelText,
b6b226d0   Administrator   01.06.16
33
  
055ecc3b   Karnovsky A   Karnovsky 11052016
34
          ]);
3f2bc3d0   Administrator   first commit
35
      }
055ecc3b   Karnovsky A   Karnovsky 11052016
36
  
7a3cca71   Dmytry Fedorchuk   SEO
37
38
39
40
  
      public function actionRobots()
      {
  
486e5dea   Dmytry Fedorchuk   SEO
41
          $file = file_get_contents(robotsTxt, true);//получаем его содержимое
7a3cca71   Dmytry Fedorchuk   SEO
42
43
44
45
46
          return $this->renderPartial('robots', [
  
          ]);
      }
  
7ba4acc5   Administrator   after marge
47
      public function actionError(){
055ecc3b   Karnovsky A   Karnovsky 11052016
48
  
7ba4acc5   Administrator   after marge
49
          return $this->render('error', [
38b2f003   Administrator   20.07.16
50
51
              'code'=>'404',
  //            'message'=>Yii::$app->errorHandler->exception->getMessage(),
055ecc3b   Karnovsky A   Karnovsky 11052016
52
53
54
          ]);
      }
  
0ff57d01   Administrator   image size
55
56
      public function actionPriceparam ()
      {
02e6c2ba   Karnovsky A   -
57
58
59
60
          $category_alias = Yii::$app->request->get('category');
          $is_count = Yii::$app->request->get('count', false);
  
          if ( !($category = CategorySearch::findByAlias($category_alias)))
0ff57d01   Administrator   image size
61
          {
02e6c2ba   Karnovsky A   -
62
              throw new HttpException(404, 'Данной страницы не существует!');
0ff57d01   Administrator   image size
63
64
          }
  
02e6c2ba   Karnovsky A   -
65
          $products = $category->products;
0ff57d01   Administrator   image size
66
  
02e6c2ba   Karnovsky A   -
67
68
69
          if ($is_count) {
              print (count($products));
              exit;
0ff57d01   Administrator   image size
70
          }
02e6c2ba   Karnovsky A   -
71
  
0ff57d01   Administrator   image size
72
73
74
75
76
77
78
79
80
81
82
          set_time_limit (0);
          header ("Content-Type: text/xml");
          print '<?xml version="1.0" encoding="UTF-8" ?>';
          print "<price>";
          print "<date>" . date ("Y-m-d h:m") . "</date>";
          print "<firmName>Rukzachok</firmName>";
          print "<firmId></firmId>";
          print "<rate></rate>";
          print "<categories>";
  
          print "<category>";
02e6c2ba   Karnovsky A   -
83
          print "<id>" . $category->category_id . "</id>";
0ff57d01   Administrator   image size
84
          print "<parentId></parentId>";
02e6c2ba   Karnovsky A   -
85
          print "<name>" . $category->name . "</name>";
0ff57d01   Administrator   image size
86
87
88
89
90
          print "</category>";
  
  
          print "</categories>";
          print "<items>";
02e6c2ba   Karnovsky A   -
91
92
93
94
          /** @var Product $product */
          foreach ($products as $product) {
              /** @var ProductVariant $variant */
              foreach ($product->enabledVariants as $variant) {
0ff57d01   Administrator   image size
95
  
0ff57d01   Administrator   image size
96
                  print "<item>";
02e6c2ba   Karnovsky A   -
97
98
99
100
101
102
103
104
105
106
                  print "<id>" . htmlspecialchars($variant->product_variant_id) . "</id>";
                  print "<categoryId>" . htmlspecialchars($product->category->category_id) . "</categoryId>";
                  print "<vendor>" . $product->brand->name . "</vendor>";
                  print "<code>" . htmlspecialchars($variant->sku) . "</code>";
                  print "<typeprefix>" . htmlspecialchars(substr($category->name, 0, -2)) . " </typeprefix>";
                  print "<name>" . htmlspecialchars($product->name) . "  </name>";
                  print "<param>" . $variant->name . " </param>";
                  print "<description>" . htmlspecialchars($product->description) . "</description>";
                  print "<url>http://rukzachok.com.ua{$product->url}#{$variant->product_variant_id}</url>";
                  print "<image>http://rukzachok.com.ua{$variant->imageUrl}</image>";
61bae627   Administrator   image size
107
108
                  print "<priceRUAH>" . $variant->price . "</priceRUAH>";
                  print "<oldprice>" . $variant->price_old . "</oldprice>";
0ff57d01   Administrator   image size
109
110
111
112
                  print "<priceRUSD></priceRUSD>";
                  print "<stock>В наличии</stock>";
                  print "<guarantee></guarantee>";
                  print "</item>";
0ff57d01   Administrator   image size
113
114
              }
          }
0ff57d01   Administrator   image size
115
116
117
          print "</items>";
  
          print "</price>";
0ff57d01   Administrator   image size
118
119
120
121
      }
  
      public function actionPrice()
      {
02e6c2ba   Karnovsky A   -
122
123
          $category_alias = Yii::$app->request->get('category');
          $is_count = Yii::$app->request->get('count', false);
0ff57d01   Administrator   image size
124
  
02e6c2ba   Karnovsky A   -
125
          if ( !($category = CategorySearch::findByAlias($category_alias)))
0ff57d01   Administrator   image size
126
          {
02e6c2ba   Karnovsky A   -
127
              throw new HttpException(404, 'Данной страницы не существует!');
0ff57d01   Administrator   image size
128
129
          }
  
02e6c2ba   Karnovsky A   -
130
          $products = $category->products;
0ff57d01   Administrator   image size
131
  
02e6c2ba   Karnovsky A   -
132
133
134
135
          if ($is_count) {
              print (count($products));
              exit;
          }
0ff57d01   Administrator   image size
136
  
0ff57d01   Administrator   image size
137
  
0ff57d01   Administrator   image size
138
139
140
141
142
143
144
145
146
147
148
149
  //var_dump($products);die();
          set_time_limit (0);
          header ("Content-Type: text/xml");
          print '<?xml version="1.0" encoding="UTF-8" ?>';
          print "<price>";
          print "<date>" . date ("Y-m-d h:m") . "</date>";
          print "<firmName>Rukzachok</firmName>";
          print "<firmId></firmId>";
          print "<rate></rate>";
          print "<categories>";
  
          print "<category>";
02e6c2ba   Karnovsky A   -
150
          print "<id>" . $category->category_id . "</id>";
0ff57d01   Administrator   image size
151
          print "<parentId></parentId>";
02e6c2ba   Karnovsky A   -
152
          print "<name>" . $category->name . "</name>";
0ff57d01   Administrator   image size
153
154
155
156
          print "</category>";
  
          print "</categories>";
          print "<items>";
02e6c2ba   Karnovsky A   -
157
          /** @var Product $product */
0ff57d01   Administrator   image size
158
159
          foreach ($products as $product)
          {
02e6c2ba   Karnovsky A   -
160
161
              /** @var ProductVariant $variant */
              foreach ($product->enabledVariants as $variant) {
0ff57d01   Administrator   image size
162
163
  
                  print "<item>";
02e6c2ba   Karnovsky A   -
164
165
166
167
                  print "<id>" . htmlspecialchars($variant->product_variant_id) . "</id>";
                  print "<categoryId>" . htmlspecialchars($product->category->category_id) . "</categoryId>";
                  print "<vendor>" . $product->brand->name . "</vendor>";
                  print "<code>" . htmlspecialchars($variant->sku) . "</code>";
41068668   Administrator   29.06.16
168
                  print "<name>" . htmlspecialchars($product->name)." " .htmlspecialchars($variant->name). " </name>";
02e6c2ba   Karnovsky A   -
169
170
171
                  print "<description>" . htmlspecialchars($product->description) . "</description>";
                  print "<url>http://rukzachok.com.ua{$product->url}#{$variant->product_variant_id}</url>";
                  print "<image>http://rukzachok.com.ua{$variant->imageUrl}</image>";
61bae627   Administrator   image size
172
173
                  print "<priceRUAH>" . $variant->price . "</priceRUAH>";
                  print "<oldprice>" . $variant->price_old . "</oldprice>";
0ff57d01   Administrator   image size
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
                  print "<priceRUSD></priceRUSD>";
                  print "<stock>В наличии</stock>";
                  print "<guarantee></guarantee>";
                  print "</item>";
  
              }
          }
  
  
          print "</items>";
  
          print "</price>";
  
  
      }
ccc7a9d3   Karnovsky A   Karnovsky 12052016
189
  
ccc7a9d3   Karnovsky A   Karnovsky 12052016
190
  
4967666c   Administrator   first commit
191
  }