< VOLVER A LA LISTA

Texto enriquecido para Laravel

Publicado el 17 de septiembre de 2021

Imagen representativa del artículo

Ver la noticia original en inglés de Laravel News

Rich Text Laravel integra el editor Trix con Laravel y está inspirado en la gema Action Text de Rails.

Este paquete proporciona todo lo necesario para almacenar, crear y actualizar texto enriquecido en modelos asociados utilizando el editor Trix:

  • Diseño de esquema de base de datos para facilitar la asociación de texto enriquecido con modelos
  • Manejar archivos adjuntos y cargas de imágenes
  • Soporte para content attachments de Trix.
  • Recuperación de objetos de contenido, como archivos adjuntos, enlaces, etc.
  • Representación de texto sin formato

Este paquete es flexible, ya que puede usarlo de la forma recomendada o un formato más ligero que le permite almacenar texto enriquecido en cualquier modelo:

  1. Utilice la estructura de base de datos proporcionada en el paquete, donde todo el contenido enriquecido se almacena fuera del modelo con contenido enriquecido asociado.
  2. Utilice el trait AsRichTextContent del paquete para castear un campo de contenido enriquecido en cualquier modelo.

A continuación se muestra un ejemplo con el punto #1 anterior, que es un modelo Post que tiene dos campos de texto enriquecidos:

use Tonysm\RichTextLaravel\Models\Traits\HasRichText;
 
class Post extends Model
{
    use HasRichText;
 
    protected $guarded = [];
 
    protected $richTextFields = [
        'body',
        'notes',
    ];
}

El paquete también se encarga de las consultas con los datos de texto enriquecido:

// Carga todos los campos de texto enriquecido (1 consulta para cada campo, ya que cada uno tiene su relación)
Post::withRichText()->get();
 
// Carga solo un campo específico:
Post::withRichText('body')->get();
 
// Carga algunos campos específicos (pero no todos):
Post::withRichText(['body', 'notes'])->get();

El archivo readme del paquete tiene muchos ejemplos e instrucciones sobre cómo empezar. Puedes obtener más información sobre este paquete, obtener instrucciones de instalación completas y ver el código fuente en GitHub.

Nelson Otazo

Show love in everything you do.

Whatever work you do, put yourself into it, as those who are serving not merely other people, but the Lord.

Social

You can contact and follow me on these social networks.

© Copyright 2024 Nelson Otazo