• Время чтения ~1 мин
  • 24.08.2022

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

Гибкость этого пакета заключается в том, что вы можете использовать его рекомендуемым способом или более легким преобразованием, позволяющим сохранять форматированный текст в любой модели:

  1. Use the provided package database structure where all rich content is stored outside the model with associated rich content.
  2. 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.

Comments

No comments yet
Yurij Finiv

Yurij Finiv

Full stack

Про мене

Professional Fullstack Developer with extensive experience in website and desktop application development. Proficient in a wide range of tools and technologies, including Bootstrap, Tailwind, HTML5, CSS3, PUG, JavaScript, Alpine.js, jQuery, PHP, MODX, and Node.js. Skilled in website development using Symfony, MODX, and Laravel. Experience: Contributed to the development and translation of MODX3 i...

Об авторе CrazyBoy49z
WORK EXPERIENCE
Контакты
Ukraine, Lutsk
+380979856297