avxman / breadcrumbs
The module breadcrumbs for laravel >=8.0
1.0.6
2021-09-20 07:44 UTC
Requires
- php: >=8.0
- laravel/framework: ^8.0
This package is auto-updated.
Last update: 2024-10-10 01:44:45 UTC
README
Работа с хлебными крошками на сайте. Вывод и сохранение хлебных хрошек.
Установка модуля с помощью composer
composer require avxman/breadcrumbs
Настройка модуля
После установки модуля не забываем объязательно запустить команды artisan
php artisan vendor:publish --tag="avxman-breadcrumbs-migrate"
и после php artisan migrate
.
Это установит таблицу хлебных крошек для получения и сохранения данных.
Команды artisan
- Выгружаем все файлы
php artisan vendor:publish --tag="avxman-breadcrumbs-all"
- Выгружаем миграционные файлы
php artisan vendor:publish --tag="avxman-breadcrumbs-migrate"
- Выгружаем файлы моделек
php artisan vendor:publish --tag="avxman-breadcrumbs-model"
- Выгружаем шаблонные файлы
php artisan vendor:publish --tag="avxman-breadcrumbs-view"
Методы
Инициализация или сохранение хлебных крошек (очерёдность вызова метода - первичная)
init()
- инициализация хлебных крошек по выборке модели и idsave()
- сохраняем список ссылок хлебных крошек определённой модельки и id (после вызова остальные методы не вызываются)
Дополнительные (очерёдность вызова метода - второстепенная)
all()
- получаем все ссылки хлебных крошек инициализированной моделькиexceptLast()
- получаем все родительские ссылки за исключением домашнейonlyLast()
- получаем последнюю ссылкуsetView
- перезаписываем шаблон вывода хлебных крошекsetAddHome()
- выводить домашнюю ссылку
Вывод (очерёдность вызова метода - последняя)
toCollection()
- получаем результат в виде коллекцииtoArray()
- получаем результат в виде массиваtoJson()
- получаем результат в виде jsontoHtml()
- получаем результат в виде html
Примеры получения результатов
use App\Models\User;
use Avxman\Breadcrumb\Facades\BreadcrumbFacade;
$breadcrumbs = BreadcrumbFacade::init(User::class, 1)->setAddHome(false)->all()->toHtml();
$breadcrumbs = BreadcrumbFacade::init(User::class, 1)->all()->toHtml();
$breadcrumbs = BreadcrumbFacade::init(User::class, 1)->onlyLast()->toHtml();
$breadcrumbs = BreadcrumbFacade::init(User::class, 1)->exceptLast()->toHtml();
$breadcrumbs = BreadcrumbFacade::init(User::class, 1)->toCollection();
$breadcrumbs = BreadcrumbFacade::init(User::class, 1)->toArray();
$breadcrumbs = BreadcrumbFacade::init(User::class, 1)->toJson();
$breadcrumbs = BreadcrumbFacade::init(User::class, 1)->toHtml();
BreadcrumbFacade::save(
collect()->push(
['url'=>'https://google.ua/', 'name'=>'Google'],
['url'=>null, 'name'=>'NEW']
),
User::first());
$breadcrumbs = BreadcrumbFacade::init(User::class, 1)->toHtml();
Вызов во views
{!! BreadcrumbFacade::init(User::class, 1)->all()->toHtml() !!}
{!! BreadcrumbFacade::init(User::class, 1)->toJson(); !!}
{!! BreadcrumbFacade::init(User::class, 1)->toHtml(); !!}
{{ BreadcrumbFacade::save(
collect()->push(
['url'=>'https://google.ua/', 'name'=>'Google'],
['url'=>null, 'name'=>'NEW']
),
User::first());
}}