Awesome
Notice
This extension is discontinued. There will be no support, no upgrades.
For the maintained version you can use https://github.com/iMi-digital/m2-breadcrumbs
Mangento 2 Breadcrumbs
Magento 2 (as Magento 1) has a lot of pages where breadcrumbs are missing.
some of them might not need them, but for others I think they might be needed.
Specially for the customer account pages.
Having breadcrumbs will improve the customer experience and will make the navigation easier.
Installation
Copy this extension inside the app/code
folder (or app/modules
if the request #357 get's implemented).
By default the breadcrumbs will be added to all supported pages.
You can find a list of supported pages in etc/frontend/breadcrumbs.xml
.
If you don't want breadcrumbs for a specific page then you can manage the pages from Stores->Configuration->Easylife Breadcrumbs
.
Extending
If you have other pages that you thing need breadcrumbs, create a module that depends on this one and add a file etc/frontedn/breadcrumbs.xml
validated by the same xsd file Easylife/Breadcrumbs/etc/frontend/breadcrumbs_file.xsd
where you can list your pages.
You can add a new page by adding this in your config file:
<page id="page_layout_handle" group="group_code"><!-- available groups are listed also in breadcrumbs.xml -->
<label>Store configuration label here</label>
<methods>
<method name="methodNameHere" sort="10" class="Class\Name\Here" /><!-- this will call the method Class\Name\Here::methodNameHere on the event controller_action_layout_render_before_page_layout_handle -->
<method name="otherMethodNameHere" sort="20" class="Class\Name\Here" /><!-- this will call the method Class\Name\Here::otherMethodNameHere on the event controller_action_layout_render_before_page_layout_handle -->
</methods>
</page>
If the class
attribute is missing it will call the method from the Easylife\Breadcrumbs\Model\Observer
class.
Educational
You can use this module for learning purposes. Is shows you how to create a config loader (I hope I've done it right).
It also shows you how to use di.xml
. The observer for all events is Easylife\Breadcrumbs\Model\Observer\ObserverInterface
and the di.xml
file contains a preference for this interface.
<preference for="Easylife\Breadcrumbs\Model\Observer\ObserverInterface" type="Easylife\Breadcrumbs\Model\Observer" />