masterdmx/laravel-snippets

Automatic replacement of snippets in text

2.0.1 2021-08-19 08:29 UTC

This package is not auto-updated.

Last update: 2024-05-23 21:39:34 UTC


README

  1. Скачивание плагина
composer require masterdmx/laravel-snippets
  1. Подключение провайдера в config app.php раздел providers
MasterDmx\LaravelSnippets\SnippetsServiceProvider::class
  1. Публикация конфига (если планируется использовать группы)
php artisan vendor:publish --provider="MasterDmx\LaravelSnippets\SnippetsServiceProvider" --tag="config"

Использование

Регистрация сниппетов для использования пресетов в конфиге snippets.php

return [
    'presets' => [
        'global' => [
            \App\View\Snippets\CurrentYear::class,
        ],
        
        'tinymce' => [
            \App\View\Snippets\TableOfContents::class,
        ],
    ],
];

Подготовка модели

namespace App\Models;

use Illuminate\Database\Eloquent\Model;
use MasterDmx\LaravelSnippets\Traits\HasSnippets;
use MasterDmx\LaravelSnippets\SnippetsConfigurator;
use App\View\Snippets\GeoReplacer;

/**
 * @property string $title
 * @property string $annotation
 * @property string $content
 */
class Post extends Model
{
    use HasSnippets;

    public function snippetsSettings(SnippetsConfigurator $snippets): void
    {
        $snippets->bind(\App\View\Snippets\CurrentYear::class, 'title');
        $snippets->bind(\App\View\Snippets\CurrentDay::class, ['title', 'meta_title']);
        $snippets->bindPreset('global', 'meta_title');
        $snippets->bindReplacer(\App\View\Snippets\GeoReplacer::class, 'title');
    }
}