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; }
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)]); } }
/** * @return Config|null */ public static function getModel() { return parent::getModelByKey(self::KEY_ROBOTS, Yii::$app->getModule('seo')->cacheConfig['robotsCache']['expire']); }