• Час читання ~1 хв
  • 24.08.2022

Rich Text Laravel інтегрує Trix Editor із Laravel і створено за мотивами Action Text gem від Rails.

Цей пакет містить усе необхідне для зберігання, створення та оновлення форматованого тексту у пов’язаних моделях за допомогою Редактор Trix:

  • 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