@php $body->load(['price.modification', 'price.complectation', 'color']); $carName = trim($body->model->mark->name . ' ' . $body->model->name . ' ' . $body->name); $bodyPrices = $body->price ->filter(function ($price) { return $price->price > 0; }) ->sortBy('price'); $priceField = $bodyPrices->first(); $bodyModifications = $bodyPrices->pluck('modification')->filter()->unique('id')->values(); $mainModification = optional($priceField)->modification; $bodyColors = $body->color->sortBy('position')->values(); $initialColor = $bodyColors->first(); $initialPicture = optional($initialColor)->picture ?: ($body->preview ?: $body->image); $stockCount = (crc32((string) $body->id) % 8) + 1; $galleryImages = []; foreach (['exterior_image' => 'экстерьер', 'intertier_image' => 'интерьер', 'live_photo' => 'фото'] as $field => $caption) { foreach (\EurocarBodyData::images($body->$field) as $image) { $galleryImages[$image] = ['image' => $image, 'caption' => $carName . ' — ' . $caption]; } } if (!$galleryImages) { foreach ($bodyColors as $color) { foreach (\EurocarBodyData::images($color->picture) as $image) { $galleryImages[$image] = ['image' => $image, 'caption' => $carName . ' — ' . $color->name]; } } } if (!$galleryImages) { foreach (\EurocarBodyData::images($body->preview ?: $body->image) as $image) { $galleryImages[$image] = ['image' => $image, 'caption' => $carName]; } } $relatedBodies = \EurocarNewAutoCatalog::query(['mark_id' => $body->model->mark_id]) ->where('body.id', '<>', $body->id) ->with(['model.mark', 'price.modification', 'complectation']) ->orderBy('body.position') ->limit(7) ->get(); $minPrice = $body->getMinPrice(); $priceField = $bodyPrices->firstWhere('price', $minPrice) ?? $bodyPrices->first(); $minPrice = (float) optional($priceField)->price; $formattedMinPrice = price_format($minPrice); if (isset($body->title) and !empty($body->title)) { $title = $body->title; } else { /* SEO 2026-10-23 eurocar */ $seoBodyName = trim((string) $body->getOriginal('name')); $seoCarNameRu = \EurocarNewAutoCatalog::ruName( $body->model->mark->name_ru ?: $body->model->mark->name, $body->model->name_ru ?: $body->model->name, $seoBodyName !== '' ? ($body->name_ru ?: $seoBodyName) : '', $body->suffix ); $seoCarName = $seoCarNameRu !== $carName ? $carName . ' (' . $seoCarNameRu . ')' : $carName; $title = $minPrice > 0 ? sprintf('Купить %s в Ростове-на-Дону – цена от %s ₽ | Еврокар', $seoCarName, $formattedMinPrice) : sprintf('Купить %s в Ростове-на-Дону | Еврокар', $seoCarName); } if (isset($body->description) and !empty($body->description)) { $description = $body->description; } else { $description = $minPrice > 0 ? sprintf('Новый %s в автосалоне Еврокар в Ростове-на-Дону. Цены от %s ₽, комплектации, характеристики и наличие. Автокредит, Trade-in с выгодой до 350 000 ₽.', $carName, $formattedMinPrice) : sprintf('Новый %s в автосалоне Еврокар в Ростове-на-Дону. Цены, комплектации, характеристики и наличие. Автокредит, Trade-in с выгодой до 350 000 ₽.', $carName); } if (isset($body->og_title) and !empty($body->og_title)) { $og_title = $body->og_title; } else { $og_title = $title; } if (isset($body->og_description) and !empty($body->og_description)
г. Ростов-на-Дону, ул. Доватора, 169
Режим работы: Ежедневно с 8:00 до 20:00
+7 (863) 209-70-08
Контакты
г. Ростов-на-Дону, ул. Доватора, 169
Режим работы: Ежедневно с 8:00 до 20:00