Docs

Сервисы контента

uticms.content-services · verified 2026-07-11

Обзор

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
  • Mail
    • Models
      • MailEvent
      • MailTemplate
      • MailTemplateTranslation
      • MailEventTemplate
      • EventMail
    • Servicesapp/MailEditor/
    • Admin Resources
      • EditorMailEventResource
      • EditorMailTemplateResource
  • Localization
    • Models
      • LangList
      • LangText
      • LangTranslation
  • 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

  1. резолвить активное событие по code
  2. резолвить locale, template, translation и получателей
  3. вернуть совпадающий idempotent log, если присутствует
  4. создать pending EventMail с отрендеренным context
  5. отрендерить, опционально вставить tracking, доставить и сохранить sent или failed state

Правила

Architectural rule

Сохраняйте custom field values через типизированный EAV pipeline, чтобы применялась валидация field type и extensions.