PHPackages                             maksde/filament-email-templates - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Templating &amp; Views](/categories/templating)
4. /
5. maksde/filament-email-templates

ActiveLibrary[Templating &amp; Views](/categories/templating)

maksde/filament-email-templates
===============================

Редактор шаблонов электронных писем для Filament

1.0.2(9mo ago)03MITPHPPHP ^8.2

Since Jul 25Pushed 9mo agoCompare

[ Source](https://github.com/demyanenkomaks/filament-email-templates)[ Packagist](https://packagist.org/packages/maksde/filament-email-templates)[ RSS](/packages/maksde-filament-email-templates/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependencies (7)Versions (4)Used By (0)

Редактор шаблонов электронных писем для Filament 3.0
====================================================

[](#редактор-шаблонов-электронных-писем-для-filament-30)

Установка
---------

[](#установка)

Установить пакет с помощью Composer.

```
composer require maksde/filament-email-templates
```

Выполнение команды установки. Опубликует файлы конфигураций, миграций в ваше приложение.

```
php artisan filament-email-templates:install
```

Опубликовать файлы конфигураций.

```
php artisan vendor:publish --tag="filament-email-templates-config"
```

Опубликовать файлы переводов.

```
 php artisan vendor:publish --tag="filament-email-templates-translations"
```

Опубликовать файлы миграций.

```
php artisan vendor:publish --tag="filament-email-templates-migrations"
```

Добавление плагина
------------------

[](#добавление-плагина)

Добавить плагин в панель с помощью метода `plugins()` в `app/Providers/Filament/AdminPanelProvider.php`:

```
use Maksde\FilamentEmailTemplates\FilamentEmailTemplatesPlugin;

public function panel(Panel $panel): Panel
{
    return $panel
        // ...
        ->plugins([
            FilamentEmailTemplatesPlugin::make(),
            // ...
        ]);
}
```

Настройка навигации
-------------------

[](#настройка-навигации)

В конфигурационном файле `config/filament-email-templates.php` навигацию можно отключить/включить

```
    /**
     * Параметры навигации панели администратора
     */
    'navigation' => [
        'enabled' => true,
        'templates' => [
            'sort' => 10,
            'label' => 'Шаблоны электронных писем',
            'icon' => 'heroicon-o-envelope',
            'group' => 'Контент',
            'cluster' => false,
            'position' => SubNavigationPosition::Top,
        ],
    ],
```

Переводы
--------

[](#переводы)

Каждый шаблон электронного письма идентифицируется ключом и языком:

- **Ключ**: `email-template-key`
- **Язык**: `ru`

Это позволяет выбирать соответствующий шаблон на основе языковых настроек пользователя. Для реализации этой возможности вам потребуется сохранить предпочитаемый пользователем язык.

Обратите внимание, что в локали Laravel по умолчанию установлено значение `en`, а плагине `ru`. Если необходимо разделять британский и американский английский, можно использовать en\_GB и en\_US, но вы можете задать это значение по своему усмотрению.

Языки, которые должны отображаться в окне выбора языка, можно задать в конфигурации.

```
    /**
     * Языки для которых будут заводиться шаблоны электронного письма.
     */
    'languages' => [
        'ru' => 'Русский',
        //        'en_GB' => 'British',
        //        'en_US' => 'USA',
    ],
```

Создание новых почтовых классов
-------------------------------

[](#создание-новых-почтовых-классов)

Используем отдельный класс Mailable для каждого типа письма. Это означает, что при создании нового шаблона в панели администратора потребуется новый PHP-класс. Пакет предоставляет действие для создания класса, если файл отсутствует в папке `app/Mail/Maksde/EmailTemplates`.

Созданные классы будут использовать свойство BuildGenericEmail.

```
