Magento 2
To integrate the partytown library functionality into your Magento 2 project, you can use the integration module for Magento2 : Module for integrating BuilderIO/partytown library functionality into Magento 2 projectRequirements
- PHP 8.1 or higher
- Magento 2.4.4 or higher
- Node.js v16 or higher
- configured https for the domain ( for correct work of service wokers )
- Optional : configured reverse proxy for correct loading of some scripts ( see below )
Install
composer config repositories.perspective-magento2-partytown git [email protected]:rostilos/perspective-partytown.git
composer require perspective/magento2-partytown dev-master
php bin/magento setup:upgrade
bin/magento setup:di:compile
php bin/magento setup:static-content:deploy
Next, clear all the cache
Updating partytown lib npm packages
The library files provided by the npm package @builder.io/partytown are already added to the module files, but in case you want to update them, it is recommended to do the following :
cd <magento-root>/vendor/perspective/magento2-partytown
npm install ( node v16+ required )
npm run partytown
Configure
In order for scripts to be loaded and executed in a separate thread of the webworker - you need to set the appropriate type ( text/partytown ) when connecting them. Using the example of GMT :
<!-- Google Tag Manager -->
<script type="text/partytown">(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
})(window,document,'script','dataLayer','GTM-XXXXXXXX');</script>
<!-- End Google Tag Manager -->
Configuration of the module is managed through the admin panel, where you can select the list of available analytics services that will be allocated for execution in the webworker, as well as specify other configurations that affect the functionality of the library
You can find the configurations at the following path :
Stores -> Configuration -> Perspective -> Partytown