Example #1
0
 private static function setChanged()
 {
     /* @var $changed Config */
     $changed = Config::getModelByKey(self::SITEMAP_CHANGED);
     if ($changed === null) {
         $changed = new Config(['key' => self::SITEMAP_CHANGED, 'value' => 'TRUE']);
     } elseif ($changed->value === 'FALSE') {
         $changed->value = 'TRUE';
     }
     return $changed->save();
 }
 /**
  * @return bool
  */
 private function regenerate()
 {
     if (!file_exists(\Yii::getAlias('@webroot/sitemap.xml'))) {
         return true;
     } else {
         /* @var $sitemapChanged Config */
         $sitemapChanged = Config::getModelByKey(SitemapHelper::SITEMAP_CHANGED);
         if ($sitemapChanged !== null && ($sitemapChanged->value == 'TRUE' || $sitemapChanged->value == 'true' || $sitemapChanged->value == '1')) {
             $sitemapChanged->value = 'FALSE';
             return $sitemapChanged->save();
         }
     }
     return false;
 }
Example #3
0
 public static function renderEcommerceCounters(Event $event)
 {
     $order = Order::findOne(['id' => $event->data['orderId']]);
     $config = Config::getModelByKey('ecommerceCounters');
     if (empty($event->data['orderId']) || empty($config) || empty($order)) {
         return;
     }
     $orderItems = OrderItem::findAll(['order_id' => $event->data['orderId']]);
     if (!empty($orderItems)) {
         $products = [];
         foreach ($orderItems as $item) {
             $product = Product::findById($item->product_id, null, null);
             if (empty($product)) {
                 continue;
             }
             $category = Category::findById($product->main_category_id);
             $category = empty($category) ? 'Магазин' : str_replace('\'', '', $category->name);
             $products[] = ['id' => $product->id, 'name' => str_replace('\'', '', $product->name), 'price' => number_format($product->price, 2, '.', ''), 'category' => $category, 'qnt' => $item->quantity];
         }
         $order = ['id' => $order->id, 'total' => number_format($order->total_price, 2, '.', '')];
         echo Yii::$app->view->renderFile(Yii::getAlias('@app/modules/seo/views/manage/_ecommerceCounters.php'), ['order' => $order, 'products' => $products, 'config' => Json::decode($config->value)]);
     }
 }
Example #4
0
 /**
  * @return Config|null
  */
 public static function getModel()
 {
     return parent::getModelByKey(self::KEY_ROBOTS, Yii::$app->getModule('seo')->cacheConfig['robotsCache']['expire']);
 }