breadcrumbs.php 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. <?php
  2. declare(strict_types=1);
  3. use App\Models\Article;
  4. use App\Models\Category;
  5. use App\Models\Tag;
  6. use DaveJamesMiller\Breadcrumbs\BreadcrumbsGenerator;
  7. Breadcrumbs::for('home.articles.index', function (BreadcrumbsGenerator $trail) {
  8. $trail->push('Home', url('/'));
  9. });
  10. Breadcrumbs::for('home.categories.show', function (BreadcrumbsGenerator $trail, Category $category) {
  11. $trail->parent('home.articles.index');
  12. $trail->push($category->name, route('home.categories.show', $category->id));
  13. });
  14. Breadcrumbs::for('home.tags.show', function (BreadcrumbsGenerator $trail, Tag $tag) {
  15. $trail->parent('home.articles.index');
  16. $trail->push($tag->name, route('home.tags.show', $tag->id));
  17. });
  18. Breadcrumbs::for('home.notes.index', function (BreadcrumbsGenerator $trail) {
  19. $trail->parent('home.articles.index');
  20. $trail->push(translate('Note'), route('home.notes.index'));
  21. });
  22. Breadcrumbs::for('home.chat.index', function (BreadcrumbsGenerator $trail) {
  23. $trail->parent('home.articles.index');
  24. $trail->push(translate('Note'), route('home.notes.index'));
  25. });
  26. Breadcrumbs::for('home.openSources.index', function (BreadcrumbsGenerator $trail) {
  27. $trail->parent('home.articles.index');
  28. $trail->push(translate('Open Source'), route('home.openSources.index'));
  29. });
  30. Breadcrumbs::for('home.sites.index', function (BreadcrumbsGenerator $trail) {
  31. $trail->parent('home.articles.index');
  32. $trail->push(translate('Site'), route('home.sites.index'));
  33. });
  34. Breadcrumbs::for('home.articles.show', function (BreadcrumbsGenerator $trail, Article $article) {
  35. $trail->parent('home.categories.show', $article->category);
  36. $trail->push($article->title, route('home.tags.show', $article->id));
  37. });
  38. Breadcrumbs::for('home.articles.search', function (BreadcrumbsGenerator $trail) {
  39. $trail->parent('home.articles.index');
  40. $trail->push(translate('Search'), route('home.articles.search'));
  41. });