The plugin sort order
Looking back, when we defined a plugin in the di.xml
file, one of the attributes that we set for every plugin definition was sortOrder
. It was set to 100
, 200
to 300
for foggyPlugin1
, foggyPlugin2
and foggyPlugin3
respectively.
The flow of the code execution for the preceding plugins is as follows:
Plugin1 - beforeGetAddToCartUrl
Plugin1 - aroundGetAddToCartUrl
Plugin2 - beforeGetAddToCartUrl
Plugin2 - aroundGetAddToCartUrl
Plugin3 - beforeGetAddToCartUrl
Plugin3 - aroundGetAddToCartUrl
Plugin3 - afterGetAddToCartUrl
Plugin2 - afterGetAddToCartUrl
Plugin1 - afterGetAddToCartUrl
In other words, if multiple plugins are listening to the same method, the following execution order is used:
- The
before
plugin functions with the lowestsortOrder ...
Get Magento 2 Developer's Guide now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.