Can I use third-party modules with Argento in Breeze?

by Peter D.

Will it work with my theme?

Yes. However, all custom scripts will not work out of the box.

You’ll have to prepare all your theme JS to work with Breeze. Do as follows:

We suppose your theme has web/js/theme.js file:


define([
    'jquery'
], function ($) {
    'use strict';
 
    $('.panel.header > .header.links').clone().appendTo('#store\\.links');
});

Now you have to copy the logic from this file to the Breeze-powered theme. Please create a Magento_Theme/layout/breeze_default.xml layout update file with the following content:

 
<?xml version="1.0"?>
<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">
    <body>
        <referenceBlock name="breeze.js">
            <arguments>
                <argument name="bundles" xsi:type="array">
                    <item name="default" xsi:type="array">
                        <item name="items" xsi:type="array">
                            <item name="your-theme-name-js" xsi:type="string">js/breeze/theme</item>
                        </item>
                    </item>
                </argument>
            </arguments>
        </referenceBlock>
    </body>
</page>

Then, create the JS file itself web/js/breeze/theme.js and edit the file to get it to work without jQuery and other libraries that are not available in Breeze:

 
(function () {
    'use strict';
 
    $('.panel.header > .header.links').clone().appendTo(
        document.getElementById('store.links')
    );
})();

Read more about Breeze js libraries.

Will it work with a custom module?

If your module uses custom scripts, it will not work.

Yet, to make it possible, you have to integrate your module with Breeze. Please follow the steps mentioned in the Breeze module docs.

Recent articles