How do I manipulate the breadcrumb?

The breadcrumb can be manipulated from within a PHP file. Typically, this will either be on an existing Aero route such as the homepage or product page, or a new route that is custom to the project or module.

 

Adding to the breadcrumb

To add crumbs to the breadcrumb:

\Aero\Store\Facades\Breadcrumb::add(function ($breadcrumb) {
    $breadcrumb->add(new \Aero\Store\Crumb('Name', '/url'));
});

 

Clearing the breadcrumb

To clear all crumbs from the breadcrumb:

\Aero\Store\Facades\Breadcrumb::clear();

 

Filtering the breadcrumb

A filter can be specified to control if certain crumbs should be removed from the breadcrumb. The function should return a boolean which indicates if the crumb should be kept:

\Aero\Store\Facades\Breadcrumb::setFilter(function ($crumb) {
    if ($crumb->getName() === 'Foo') {
        return false;
    }

    return true;
});

 

Disabling the request referer

By default, the product page breadcrumb is built based on the referer. For example, if a customer performs a search for "shirt" and then clicks on a listing result, the breadcrumb on the product page will be:

Home > Search for “shirt” > Casual Shirt

To disable this functionality:

\Aero\Store\Facades\Breadcrumb::dontUseReferer();

 

Disabling the request

There may be cases (such as an API) where the breadcrumb functionality should not use the request at all:

\Aero\Store\Facades\Breadcrumb::dontUseRequest();

 

Removing manufacturer from the product page breadcrumb

By default, the product page breadcrumb contains a crumb entry for the manufacturer. To disable this functionality:

\Aero\Catalog\Models\Product::$breadcrumbContainsManufacturer = false;

Articles in this section

Was this article helpful?
0 out of 0 found this helpful