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)]); } }