BB code context изменен
Система BB-кода теперь поддерживает расширенные подходы, позволяющие рендереру узнать, в какой части он обрабатывает контент. Это создало большое количество изменений, но должно сделать намного большую гибкость при рендеринге. Эти изменения включают:
Этот метод обычно не должен был вызываться после создания экземпляра класса.
XF\Service\Conversation\Creator::isAutomated() был переименован
Этот метод теперь setIsAutomated() более согласован с аналогичными методами в других службах.
Этот метод также был добавлен в службы ответа на беседу и службу сообщений, а также поддержку для отключения проверки в сообщении.
Система BB-кода теперь поддерживает расширенные подходы, позволяющие рендереру узнать, в какой части он обрабатывает контент. Это создало большое количество изменений, но должно сделать намного большую гибкость при рендеринге. Эти изменения включают:
- XF\SubContainer\BbCode::render() изменились его аргументы. $content теперь является 4-м аргументом и $options 5-м. Аргумент content должен быть указан, хотя он может быть нулевым. Если вы передадите массив в качестве 4-го аргумента и не передадите параметры, мы запишем его, чтобы вы могли обновить свой код. Эта поддержка будет удалена в будущем.
- XF\Service\Message\Preparer::__construct() теперь определяет дополнительный аргумент $messageEntity, который должен передаваться при его использовании.
- Контексты набора правил BB-кода теперь могут быть определены в формате «context: subcontext», чтобы обеспечить более конкретный контроль рендеринга и правил. Теперь контексты доступны через геттеры, поэтому рендереры могут изменить свое поведение на основе этого, если это необходимо.
- The bb_code() templater function has renamed the $user argument to $content to represent that, ideally, it should be a content entity. If there isn't one, a user can still be passed as before. This argument must be provided, but can be null if there is nothing that can be given.
- Шаблоны теперь редко передают опции в функцию bb_code(). Вместо этого, если $content реализует XF\BbCode\RenderableContentInterface, вызывается метод getBbCodeRenderOptions(). Вы можете посмотреть на XF\Entity\Post в качестве примера. Обратите внимание, что это, вероятно, нарушит некоторые модификации шаблонов, но теперь они могут расширить этот метод.
- Изменена подпись XF\EditHistory\AbstractHandler::getHtmlFormattedContent() добавив Entity $content = null что бы разрешить передачу содержимого в рендеринг кода BB. Это абстрактная функция, поэтому для этого нужно обновить все обработчики истории изменений.
Этот метод обычно не должен был вызываться после создания экземпляра класса.
XF\Service\Conversation\Creator::isAutomated() был переименован
Этот метод теперь setIsAutomated() более согласован с аналогичными методами в других службах.
Этот метод также был добавлен в службы ответа на беседу и службу сообщений, а также поддержку для отключения проверки в сообщении.