Repository navigation
Releases/v210.1.0 - #1
Merged
Merged
Conversation
Добавляет новую сущность ConnectionRelationType для управления типами связей между новостями. Реализует AJAX-обработчики для сохранения и переупорядочивания элементов сборок. Добавляет SVG-иконки для интерфейса.
новостей Добавляет возможность указывать тип (категорию) при создании и редактировании сборок. При создании новой сборки теперь требуется выбрать исходную новость, которая автоматически добавляется в сборку. Добавлен новый интерфейс управления категориями сборок с таблицей и действиями для переименования и удаления. Обновлены обработчик AJAX и сервисы для работы с новыми полями.
Удаляет встроенный SVG файл из span.dd-handles и заменяет его на FontAwesome иконку \f142(три точки) через CSS ::before. Добавляет возможность перетаскивания сборок (коллекций) целиком, а не только отдельных новостей. Упрощает разметку и унифицирует стиль с DLE.
Добавляет поле slug в тип сборки связей для публичной идентификации через фильтры. Расширяет шаблон отображения элемента связи поддержкой контекстных связей и комментариев. Создаёт репозиторий для работы с направленными парами связей.
Добавляет возможность устанавливать и синхронизировать тип коллекции при создании и обновлении связей. Извлекает логику транслитерации в общий DataManager для переиспользования. Обновляет фронтенд для работы с типами коллекций и их отображения в интерфейсе.
Заменяет выброс RuntimeException на использование JsonResponse::abort() в сервисах для корректной обработки ошибок валидации и бизнес-логики. Добавляет перехват JsonResponseException в обработчик AJAX запросов для возврата правильного HTTPответа. Это обеспечивает единообразную обработку ошибок и корректные HTTP коды (422, 404, 409) вместо 500.
шаблонов для связей между новостями Добавляет параметр template для выбора подпапки с набором шаблонов (list.tpl + item.tpl). Создаёт новый набор chronology для отображения связей в виде временной шкалы. Обновляет стандартный набор с использованием элемента details для сворачивания коллекций. Улучшает логику выбора скина с fallback на Air вместо Default.
Добавляет флаг is_manual_override для отслеживания ручных изменений связей в редакторе. Разделяет логику upsert на две части: для редактора (с флагом) и для автоматизации (с опциями сохранения переопределений). Добавляет метод для удаления устаревших связей с учётом ручных переопределений и видимости новостей.
обработку запросов в модуле связей Добавляет условное отображение элементов в шаблонах через проверку наличия значений (категория, описание, комментарий, дата). Улучшает обработку AJAX-запросов: добавляет поддержку кастомного текста загрузчика и режима silent. Расширяет логику определения DOM-элемента из результата создания. Исправляет передачу параметров в диалоговые кнопки для корректной работы с элементами.
Убирает пустой параметр comparison="" из условных тегов [has] в шаблонах подключений. Параметр не использовался и только загромождал код. Функциональность остаётся прежней, так как поведение по умолчанию совпадает с удаляемым значением.
Добавляет использование ModuleSiteAssetsBuilder для отделения публичных ассетов от админских. В Connections теперь админские скрипты и стили загружаются отдельно. Рефакторит CollectionService: извлекает логику привязки типа категории в отдельный метод bindCollectionType для переиспользования в create, update и clearCollectionTypes. Обновляет install.xml: перемещает инъекцию DevCraft Connections в addnews.php на болееранний этап и добавляет обработку сохранения снимка формы при создании новости. Обновляет changelog: документирует изменения в публичной форме добавления новостей.
Снижает минимальную версию DLE с 21.0 до 20.0 для расширения совместимости. Удаляет избыточные проверки инициализации DevCraft, так как фреймворк уже загружается автоматически при использовании модуля. Оборачивает текст "Связи" в функцию локализации __() для поддержки многоязычности интерфейса.
Заменяет details/summary на nav/h2 для лучшей структуры
документа. Добавляет aria-labelledby для связи заголовков с
контейнерами. Использует time элемент с datetime атрибутом
вместо span для дат. Заменяет хардкод ссылок на переменную
{full-link}. Оборачивает опциональные элементы в условия
[has] для чистоты разметки. Удаляет скрытые служебные
элементы.
Добавляет метод для оборачивания виджета связей в
шаблон темы с поддержкой fallback на Air и Default.
Виджет теперь загружается из
`templates/{skin}/devcraft/connections/addnews.tpl`.
Удаляет глобальные siteAssets из манифеста, так как
стили и скрипты теперь подключаются через теги в
main.tpl темы.
Исправляет синтаксическую ошибку в install.xml и
обновляет документацию по подключению модуля.
локализации и конфига Добавляет логику форматирования даты в публичном дереве с поддержкой локализованного вывода. Теперь дата отображается согласно конфигурации приложения и использует функцию langdate, если она доступна. Если парсинг даты не удался, выводится исходная строка.
Contributor
Author
|
@DevCraftBot summerize |
Contributor
|
Описание запроса обновлено. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Добавление модуля «Связи» (Connections) 210.1.0
Описание
Добавляется новый плагин для DataLife Engine — «Связи» (Connections), позволяющий собирать новости в группы связанных материалов (сборки) и выводить их читателю на странице полной новости. Модуль нужен для того, чтобы редактор мог вручную связывать материалы между собой (сезоны, циклы, хронологии и т.п.) и управлять порядком и видимостью элементов прямо из админки, а на сайте — получать аккуратный блок связанных публикаций без дублей и скрытых позиций.
Модуль работает поверх DevCraft Admin и не требует правок ядра DataLife Engine.
Изменения в коде
upload/devcraft/src/modules/Connections/:FullstoryController), вкладка «Связи» на форме новости (NewsFormController,AddNewsController), точка входа include (show_connections.php);NewsFormSnapshot) с валидацией структуры;type,type_exclude), категории (category,category_exclude) и набору шаблонов (template), с запасным путём Air → Default.AutomationHostBridge), вызываемые после изменения состава сборки.Внесённые изменения за пределами кода
LICENSEзаменён на MIT (ранее — полный текст GNU GPL v3).readme.mdполностью переписан под модуль «Связи»: описание, требования (DLE ≥ 21.0, PHP ≥ 8.3, DevCraft Admin ≥ 200.4.1), установка, настройка, публичный вывод, идентификация модуля и ссылки на документацию.Дополнительная информация
?mod=dle_connections) создаются таблицы модуля; права на запись нужны для каталогаdevcraft/cache.{dc-connections}должен находиться внутри формы, иначе черновик сборок не сохранится вместе с новостью.Issues
Fixes #(Issue)
Тип изменений
Контрольный список:
Коммиты
7d3b9b9diff patchf059b75diff patch7401dcbdiff patchba40ddddiff patchfa43bf6diff patch279adeadiff patch799d5a8diff patch69e77a3diff patch3f8d5e3diff patch552476fdiff patcheefdfe5diff patch7ac32b8diff patch69faf14diff patch0b7b3e1diff patcha2a9ea3diff patch