Commit 07d45dadddf20a54c03d3fc3aef306a737f0fd0f

Authored by Alexey Boroda
1 parent 98a320ef

-Sitemap dances

Showing 1 changed file with 73 additions and 23 deletions   Show diff stats
console/SiteMapController.php
... ... @@ -47,6 +47,26 @@
47 47 ->innerJoinWith('enabledVariants.lang');
48 48 }
49 49  
  50 + public function getProducts()
  51 + {
  52 + $products = Product::find()
  53 + ->innerJoinWith('variant')
  54 + ->innerJoinWith('brand.lang')->with('lang')
  55 + ->where([
  56 + '!=',
  57 + 'product_variant.price',
  58 + 0
  59 + ])
  60 + ->andWhere([
  61 + '!=',
  62 + 'product_variant.stock',
  63 + 0
  64 + ])
  65 + ->all();
  66 +
  67 + return $products;
  68 + }
  69 +
50 70 public function getSeoLinks()
51 71 {
52 72 return Seo::find()
... ... @@ -221,10 +241,13 @@
221 241 }
222 242 }
223 243  
  244 + $this->stdout('Add static' . PHP_EOL, Console::FG_BLUE);
224 245 foreach ($this->getAddStatic() as $page) {
225 246 $this->createRow($page, 1, 'Daily');
226 247 }
227   -
  248 +
  249 + $this->stdout('Add pages' . PHP_EOL, Console::FG_BLUE);
  250 +
228 251 foreach ($this->getStaticPages() as $page) {
229 252 $url = $urlManager->createAbsoluteUrl(
230 253 [
... ... @@ -234,7 +257,9 @@
234 257 );
235 258 $this->createRow($url, 0.5);
236 259 }
237   -
  260 +
  261 + $this->stdout('Add categories' . PHP_EOL, Console::FG_BLUE);
  262 +
238 263 foreach ($this->getCategories() as $category) {
239 264 $url = $urlManager->createAbsoluteUrl(
240 265 [
... ... @@ -244,28 +269,49 @@
244 269 );
245 270 $this->createRow($url, 0.9, 'Daily');
246 271 }
247   - foreach ($this->getVariants()
248   - ->each(1000) as $row) {
  272 +
  273 +// foreach ($this->getVariants()
  274 +// ->each(1000) as $row) {
  275 +// /**
  276 +// * @var Product $row
  277 +// */
  278 +// if(!empty($row->enabledVariants)) {
  279 +// $variant = $row->enabledVariants[0];
  280 +// }
  281 +// if(!empty($variant)) {
  282 +// if (!preg_match("@^[a-zA-Z\d]+$@i", $variant->sku)) {
  283 +// continue;
  284 +// }
  285 +// $url = $urlManager->createAbsoluteUrl(
  286 +// [
  287 +// 'catalog/product',
  288 +// 'product' => $row->lang->alias,
  289 +// ]
  290 +// );
  291 +// $this->createRow($url, 0.7, 'Daily');
  292 +// }
  293 +// }
  294 + /**
  295 + * New products generation
  296 + */
  297 +
  298 + $this->stdout('Add products' . PHP_EOL, Console::FG_BLUE);
  299 +
  300 + foreach ($this->getProducts() as $product) {
249 301 /**
250   - * @var Product $row
  302 + * @var Product $product
251 303 */
252   - if(!empty($row->enabledVariants)) {
253   - $variant = $row->enabledVariants[0];
254   - }
255   - if(!empty($variant)) {
256   - if (!preg_match("@^[a-zA-Z\d]+$@i", $variant->sku)) {
257   - continue;
258   - }
259   - $url = $urlManager->createAbsoluteUrl(
260   - [
261   - 'catalog/product',
262   - 'product' => $row->lang->alias,
263   - ]
264   - );
265   - $this->createRow($url, 0.7, 'Daily');
266   - }
  304 + $url = $urlManager->createAbsoluteUrl(
  305 + [
  306 + 'catalog/product',
  307 + 'product' => $product->lang->alias,
  308 + ]
  309 + );
  310 + $this->createRow($url, 0.7, 'Daily');
267 311 }
268   -
  312 +
  313 + $this->stdout('Add brands' . PHP_EOL, Console::FG_BLUE);
  314 +
269 315 foreach ($this->getBrands() as $brand) {
270 316  
271 317 $url = $urlManager->createAbsoluteUrl(
... ... @@ -277,7 +323,9 @@
277 323 $this->createRow($url, 0.5);
278 324  
279 325 }
280   -
  326 +
  327 + $this->stdout('Add filters' . PHP_EOL, Console::FG_BLUE);
  328 +
281 329 foreach ($this->getCategoriesWithFilters() as $category) {
282 330 foreach ($category->taxGroups as $group) {
283 331 if (in_array(
... ... @@ -306,7 +354,9 @@
306 354  
307 355 }
308 356 }
309   -
  357 +
  358 + $this->stdout('Add seo links' . PHP_EOL, Console::FG_BLUE);
  359 +
310 360 foreach ($this->getSeoLinks() as $link) {
311 361 $url = Yii::$app->urlManager->baseUrl . $link->url;
312 362 $this->createRow($url, 0.7);
... ...