breadcrumbs.php 3.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. <?php
  2. use Diglactic\Breadcrumbs\Breadcrumbs;
  3. use Diglactic\Breadcrumbs\Generator as BreadcrumbTrail;
  4. // Home
  5. Breadcrumbs::for('home', function (BreadcrumbTrail $trail) {
  6. $trail->push(trans('shop::app.customers.account.home'), route('shop.home.index'));
  7. });
  8. // Home > My Account
  9. Breadcrumbs::for('account', function (BreadcrumbTrail $trail) {
  10. $trail->parent('home');
  11. $trail->push(trans('shop::app.layouts.my-account'), route('shop.customers.account.profile.index'));
  12. });
  13. // Home > My Account > Profile
  14. Breadcrumbs::for('profile', function (BreadcrumbTrail $trail) {
  15. $trail->parent('account');
  16. $trail->push(trans('shop::app.layouts.profile'), route('shop.customers.account.profile.index'));
  17. });
  18. // Home > My Account > Profile > Edit
  19. Breadcrumbs::for('profile.edit', function (BreadcrumbTrail $trail) {
  20. $trail->parent('profile');
  21. $trail->push(trans('shop::app.customers.account.profile.edit.edit'), route('shop.customers.account.profile.index'));
  22. });
  23. // Home > My Account > Address
  24. Breadcrumbs::for('addresses', function (BreadcrumbTrail $trail) {
  25. $trail->parent('account');
  26. $trail->push(trans('shop::app.layouts.address'), route('shop.customers.account.addresses.index'));
  27. });
  28. // Home > My Account > Address > Create
  29. Breadcrumbs::for('addresses.create', function (BreadcrumbTrail $trail) {
  30. $trail->parent('addresses');
  31. $trail->push(trans('shop::app.customers.account.addresses.index.add-address'), route('shop.customers.account.addresses.create'));
  32. });
  33. // Home > My Account > Address > Edit
  34. Breadcrumbs::for('addresses.edit', function (BreadcrumbTrail $trail, $entity) {
  35. $trail->parent('addresses');
  36. $trail->push(trans('shop::app.customers.account.addresses.index.edit'), route('shop.customers.account.addresses.edit', $entity->id));
  37. });
  38. // Home > My Account > Orders
  39. Breadcrumbs::for('orders', function (BreadcrumbTrail $trail) {
  40. $trail->parent('account');
  41. $trail->push(trans('shop::app.layouts.orders'), route('shop.customers.account.orders.index'));
  42. });
  43. Breadcrumbs::for('orders.view', function (BreadcrumbTrail $trail, $entity) {
  44. $trail->parent('orders');
  45. $trail->push(trans('shop::app.customers.account.orders.view.title'), route('shop.customers.account.orders.view', $entity->id));
  46. });
  47. // Home > My Account > Downloadable Products
  48. Breadcrumbs::for('downloadable-products', function (BreadcrumbTrail $trail) {
  49. $trail->parent('account');
  50. $trail->push(trans('shop::app.layouts.downloadable-products'), route('shop.customers.account.downloadable_products.index'));
  51. });
  52. // Home > My Account > Reviews
  53. Breadcrumbs::for('reviews', function (BreadcrumbTrail $trail) {
  54. $trail->parent('account');
  55. $trail->push(trans('shop::app.layouts.reviews'), route('shop.customers.account.reviews.index'));
  56. });
  57. // Home > My Account > Wishlist
  58. Breadcrumbs::for('wishlist', function (BreadcrumbTrail $trail) {
  59. $trail->parent('account');
  60. $trail->push(trans('shop::app.layouts.wishlist'), route('shop.customers.account.wishlist.index'));
  61. });
  62. // Home > Cart
  63. Breadcrumbs::for('cart', function (BreadcrumbTrail $trail) {
  64. $trail->parent('home');
  65. $trail->push(trans('shop::app.checkout.cart.index.cart'), route('shop.checkout.cart.index'));
  66. });
  67. // Home > Checkout
  68. Breadcrumbs::for('checkout', function (BreadcrumbTrail $trail) {
  69. $trail->parent('cart');
  70. $trail->push(trans('shop::app.checkout.onepage.index.checkout'), route('shop.checkout.onepage.index'));
  71. });
  72. // Home > Comapre
  73. Breadcrumbs::for('compare', function (BreadcrumbTrail $trail) {
  74. $trail->parent('home');
  75. $trail->push(trans('shop::app.compare.product-compare'), route('shop.compare.index'));
  76. });
  77. // Home > Product
  78. Breadcrumbs::for('product', function (BreadcrumbTrail $trail, $entity) {
  79. $trail->parent('home');
  80. $trail->push($entity->name ?? '', route('shop.product_or_category.index', $entity->url_key));
  81. });