{{-- Вьюха: Мастер генерации макета блока из HTML --}} @extends('admin.layout') @section('title', 'Генератор макета блока') @section('content_header')

Генератор макета блока

К блокам
@stop @section('breadcrumb') @stop @section('content') @if(session('success'))
{{ session('success') }}
@endif {{-- ════════════════════════════════════════════════════════════════════════ --}} {{-- ШАГ 1: вставляем HTML --}} {{-- ════════════════════════════════════════════════════════════════════════ --}} @if($parsed === null)

Шаг 1 — Вставьте HTML секции

@csrf
@error('layout_name')
{{ $message }}
@enderror
@error('layout_title')
{{ $message }}
@enderror
@error('html')
{{ $message }}
@enderror Можно вставить как одну секцию целиком, так и несколько однотипных карточек. Парсер сам определит структуру.

Как это работает

1. Вставьте HTML-код секции.

2. Парсер найдёт все текстовые элементы, заголовки, ссылки, картинки и повторяющиеся блоки.

3. Вы увидите список полей и черновик Blade-шаблона. Всё можно отредактировать.

4. После подтверждения создаётся файл макета и Blade-шаблон. Макет появится в дропдауне при создании блока.


Поддерживаемые теги: h1–h6, p, a, img, любые листовые элементы с текстом.

{{-- ════════════════════════════════════════════════════════════════════════ --}} {{-- ШАГ 2: review и сохранение --}} {{-- ════════════════════════════════════════════════════════════════════════ --}} @else @php $isRepeater = $parsed['is_repeater']; $fields = $parsed['fields']; @endphp
@csrf
{{-- ── Левая колонка: поля ───────────────────────────────────────── --}}
{{-- Обнаруженная структура --}}
@if($isRepeater) Обнаружены повторяющиеся элементы. Добавлено поле items типа repeater. @else Плоская структура. Обнаружено {{ count($fields) }} {{ trans_choice('поле|поля|полей', count($fields)) }}. @endif
{{-- Плоские поля (не repeater) --}} @php $flatFields = collect($fields)->where('type', '!=', 'repeater')->values()->all(); $repeaterField = collect($fields)->firstWhere('type', 'repeater'); @endphp @if(count($flatFields) > 0)

Поля блока

@foreach($flatFields as $i => $field) @endforeach
Системное имя Название Тип
@endif {{-- Repeater-поле и его sub_fields --}} @if($repeaterField)

Repeater-группа

@foreach($repeaterField['sub_fields'] as $j => $sub) @endforeach
Системное имя Название Тип
@endif {{-- Мета --}}
{{-- ── Правая колонка: Blade-шаблон ─────────────────────────────── --}}

Черновик Blade-шаблона

можно редактировать
@endif @stop