pyrobyteweb / meta-templates
There is no license information available for the latest version (dev-master) of this package.
dev-master
2022-01-11 07:22 UTC
Requires
- php: ^7.4|^8.0
- illuminate/support: ^6.0|^7.0|^8.0
This package is auto-updated.
Last update: 2025-05-11 14:40:20 UTC
README
Laravel 8+
PHP 7.4+
Установка
- В файле app.php, в секцию packages добавить:
\PyrobyteWeb\MetaTemplates\MetaTemplatesServiceProvider::class
php artisan vendor:publish --provider="PyrobyteWeb\MetaTemplates\MetaTemplatesServiceProvider"
- Добавить мидлвару в Http/Kernel.php
MetaTemplateMiddleware::class
Принцип работы
Есть общие плейсхолдеры, которые Вы можете добавлять сами. Есть плейсхолдеры, которые используются для конкретной страницы, которые ориентируются на наименование роутинга. Все плейсхолдеры называем через #. Например, #year#
.
Использованание
Добавление нового меташаблона для всего роута
Для добавления нового типа меташаблона необходимо запустить команду php artisan meta-template:add name_meta_template
. Будет создана миграция для добавления меташаблона в базу и создан файл в директории app/MetaTemplates.
Добавления новых плейсхолдеров
Запускаем команду php artisan meta-template:placeholders PlaceHolderClassName
Пример использования
Создания для своего роута
Создадим меташаблон для тестовой страницы.
- Запустим команду для создания меташаблона в БД
php artisan meta-template:add meta_template_for_testing_page
.
У нас появится миграция и будет создан файл для описания меташаблона. - Опишим миграцию для создания меташаблона в БД. В примере будет описано только св-во, в которое следует добавлять
private $metaTemplates = [
[
'name' => 'test page',
'route_name' => 'test-route-another',
'active' => 1,
'meta_title' => 'test title - #year# #custom_placeholder#',
'meta_keywords' => 'test - #moth#',
'meta_description' => 'test - #time#',
],
];
- Опишим наш
#custom_placeholder#
в созданном классе, что именно будем там выводить. Например,
public function getPlaceholders(): array
{
return [
'custom_placeholder' => 'мой кастомный плейсхолдер',
];
}
- Перейдем на тестовую страницу и вызовем наш меташаблон
app('meta)->getTitle()
и будет выведено следущееtest title - 2022 мой кастомный плейсхолдер
.
Создание плейсхолдеров(общих)
- Запустим команду для создания меташаблона в БД
php artisan meta-template:placeholders CommonMetaTemplate
.
У нас появится файл для описания меташаблона. - Опишим наш
#common_placeholder#
в созданном классе, что именно будем там выводить. Например,
public function getPlaceholders(): array
{
return [
'common_placeholder' => 'мой кастомный плейсхолдер',
];
}
- Добавим наш класс
CommonMetaTemplate::class
в конфиг файлconfig/meta-templates.php
в секциюcommod
. - Теперь мы можем использовать наш плейсхолдер в любом меташаблоне и не описывать его каждый раз под конкретную страницу.