Existing Magento 2 setup

The ScandiPWA theme integrates seamlessly with Magento

You might want to install ScandiPWA as a Magento theme (without using Create Magento Apparrow-up-right) – and this is supported out of the box! You can install the theme as a local composer module, continuously build it, and Magento will be able to recognize it as a valid Magento theme. Then, you will be able to select your ScandiPWA-based theme in the Magento configuration.

circle-info

If you are using Create Magento App arrow-up-rightyou're lucky! It has a built-in ScandiPWA linking function built-in. Read how to setup ScandPWA with CMA in minutes!

Prerequisites

Make sure that you have a supported Magento versionarrow-up-right! Also, make sure your server is configured to point into <MAGENTO ROOT>/pub directory.

Node v14+

node -v # should be 14^

You can instal Node using nvmarrow-up-right (recommended) or the official guidearrow-up-right.

Varnish v5+

varnishd -V # should be 5^

In Magento admin go to Stores > Configuration > Advanced > System > Full Page Cache. Make sure the Varnish Cache is selected in the dropdown, varnish configuration has proper values set in it.

If it is not, please follow official documentationarrow-up-right to set it up.

Redis v2.5+

redis-cli -v # should output 2.5^

If it is not installed, please follow this guidearrow-up-right to obtain it.

Install the ScandiPWA theme with Composer

We recommend you keep your theme source in a src/localmodules directory. You will then be able to configure composer to install the theme from here as a local module.

Verify that your system has the required tools installed, and create a new theme!

Build or start the application in Magento mode:

circle-info

If you chose start – you will need to keep this process running. It continuously re-builds the theme when changes are made. Open a new terminal tab to enter new commands.

Now the new theme is created, but we need to install it using Composer. We will install the newly-created theme by taking advantage of Composer's ability to install from local repository sourcesarrow-up-right.

First, we add our theme as a local repository source. This will alter composer.json to add a new item in the repositories field:

Next, we install our theme by using require. This will resolve the package to the localmodules directory we configured above:

Configure persisted-query

For improved ScandiPWA query caching to work, you must configure scandipwa/persisted-query. For convenience, there are additional flags available for php bin/magento setup:config:set command:

Flag

Required?

Description

Example

--pq-host

Yes

Persisted query Redis host

127.0.0.1

--pq-port

Yes

Persisted query Redis port

6379

--pq-database

Yes

Persisted query Redis database

5

--pq-scheme

Yes

Persisted query Redis database

tcp

--pq-password

No

Persisted query Redis password (empty password is not allowed)

empty

Enable the ScandiPWA Theme

Run the upgrade command and disable full-page caching:

It is now time to enable the new theme. In the Magento admin panel, navigate to Content > Design > Configuration. Edit the scope you want to change (typically the most general one in the list), and select the new theme. Finally, flush the cache:

circle-check

Last updated