@extends('layouts.merchant') @section('title', $product ? 'Редактирование товара' : 'Новый товар') @php($input = 'w-full rounded-[var(--radius-md)] border-[1.5px] border-[#E1E4EA] bg-white px-4 py-2.5 text-sm outline-none focus:border-[var(--color-primary)] disabled:cursor-not-allowed disabled:bg-[#F3F4F6] disabled:text-[var(--color-muted)]') @php($lbl = 'mb-1.5 block text-sm font-semibold text-[var(--color-ink)]') {{-- Товары из YML-фида: название, цена и наличие приходят из выгрузки и здесь не редактируются. --}} @php($fromFeed = (bool) $product?->yml_feed_id) @php($initChars = old('characteristics', $product?->characteristics->map(fn ($c) => ['name' => $c->name, 'value' => $c->value, 'unit' => $c->unit])->all()) ?: [['name' => '', 'value' => '', 'unit' => '']]) @section('content')

{{ $product ? 'Редактирование товара' : 'Новый товар' }}

@if ($errors->any())
Проверьте правильность заполнения формы.
@endif @if ($fromFeed)
Название, цена и наличие берутся из вашей выгрузки (YML-фида, кабинета Ozon или Wildberries) и здесь не редактируются — меняйте их в источнике, они обновятся автоматически. Описание, фото, характеристики и акции править можно.
@endif
@csrf @if ($product) @method('PUT') @endif {{-- Выбор категории с поиском, а не список на девять тысяч строк: найти в нём нужное нельзя, и «возможности выбрать категорию» фактически не было. Тот же компонент, что в сопоставлении фида, — но без «сборной» и буфера обмена: здесь один товар, копировать нечего. --}} @php($currentCategoryId = (int) old('category_id', $product?->category_id))
Категория
@if ($product?->yml_feed_id)

Выбранная здесь категория остаётся за товаром: ни импорт, ни автоматический разбор её больше не меняют.

@endif @error('category_id'){{ $message }}@enderror
{{-- Promotion (Deals of the day) --}} @php($saleOn = (bool) old('on_sale', $product && $product->discount_percent))

Цена по акции:

@if ($product?->hasAiDescription()) @endif
{{-- Characteristics (repeatable) --}}
Характеристики
{{-- Images --}}
Фотографии (до 10) @if ($product && $product->images->isNotEmpty())
@foreach ($product->images as $image) @endforeach
@endif @error('images.*'){{ $message }}@enderror
@endsection