Сервисы контента
Обзор
- Scope
- EAV custom fields, email editor/delivery, переводы и workflow engine
Ключевые понятия
- Field Type
- EAV-тип, ответственный за хранение, загрузку и валидацию значения custom field.
- Eav Extension
- Зарегистрированная кастомизация, вызываемая вокруг типизированной обработки EAV-значения для entity type.
- Event Mail
- Сохранённый лог попытки рендеринга и доставки email.
- Idempotency Key
- Опциональный ключ для предотвращения дублирования pending, queued или sent event emails.
Структура
- Eav
- Models
- CustomField
- CustomFieldOption
- CustomFieldValue
- CustomFieldTranslation
- Servicesapp/Services/Eav/
- Admin Resourceapp/Filament/Admin/Resources/CustomFieldResource.php
- Models
- Mail
- Models
- MailEvent
- MailTemplate
- MailTemplateTranslation
- MailEventTemplate
- EventMail
- Servicesapp/MailEditor/
- Admin Resources
- EditorMailEventResource
- EditorMailTemplateResource
- Models
- Localization
- Models
- LangList
- LangText
- LangTranslation
- Models
- Workflows
- Contractsapp/Contracts/Workflow/
- Servicesapp/Services/Workflow/
Факты
- ValuePipeline валидирует через field type и extensions; при store extensions выполняются до и после storage field type, при load field type выполняется до post-processing extensions. authoritative
- Встроенные field types: text, long text, number, boolean, date, datetime, select, multiselect и file. authoritative
- MailEventDispatcher резолвит активное событие и локализованный шаблон, рендерит плейсхолдеры, создаёт EventMail log, доставляет HTML mail и записывает sent или failed status. authoritative
- Open tracking сохраняет token и вставляет pixel, когда включено событием или явным sendTemplate override. authoritative
- Idempotency key возвращает существующий EventMail со status sent, queued или pending. authoritative
- Проект содержит workflow contract, service layer, durable engine implementation, миграции для workflow state, logs, signals, timers, exceptions и relations, а также пример ping workflow. authoritative
Инструкции
Send Event Mail
- резолвить активное событие по code
- резолвить locale, template, translation и получателей
- вернуть совпадающий idempotent log, если присутствует
- создать pending EventMail с отрендеренным context
- отрендерить, опционально вставить tracking, доставить и сохранить sent или failed state
Правила
Architectural rule
Сохраняйте custom field values через типизированный EAV pipeline, чтобы применялась валидация field type и extensions.