Rich Text Laravel интегрирует редактор Trix с Laravel и вдохновлен геммой Action Text из Rails.
Этот пакет предоставляет все необходимое для хранения, создания и обновления форматированного текста в связанных моделях с помощью Трикс-редактор:
- Database schema design to make it easy to associate rich text with models
- Handle image attachments and uploads
- Support for Trix content attachments
- Retrieve content objects, such as attachments, links, etc.
- Plain text rendering
Гибкость этого пакета заключается в том, что вы можете использовать его рекомендуемым способом или более легким преобразованием, позволяющим сохранять форматированный текст в любой модели:
- Use the provided package database structure where all rich content is stored outside the model with associated rich content.
- Use the package's
AsRichTextContent
trait to cast a rich content field on any model
Вот пример использования #1. выше, который представляет собой модель Post
с двумя форматированными текстовыми полями:
use Tonysm\RichTextLaravel\Models\Traits\HasRichText;
class Post extends Model
{
use HasRichText;
protected $guarded = [];
protected $richTextFields = [
'body',
'notes',
];
}
Этот пакет также упрощает получение и установку полей в связанной модели путем переадресации вызовов отношения из модели Post в примере readme:
$post = Post::create(['body' => $body, 'notes' => $notes]);
Пакет также позаботится о запросе форматированных текстовых данных:
// Loads all rich text fields (1 query for each field, since each, has its relationship)
Post::withRichText()->get();
// Loads only a specific field:
Post::withRichText('body')->get();
// Loads some specific fields (but not all):
Post::withRichText(['body', 'notes'])->get();
Пакет readmeсодержит множество примеров и инструкций о том, как начать работу. Вы можете узнать больше об этом пакете, получить полные инструкции по установке и просмотреть исходный код на GitHub.