> ## Documentation Index
> Fetch the complete documentation index at: https://docs.neuronsearchlab.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Magento, Shopware, PrestaShop, BigCommerce

> Recommendations on the other major storefronts, with no tagging to write.

Each of these reads what the platform already knows — the product, the
category, the search term, the basket, the customer and the order — and hands
it to the widget. None of them asks you to maintain hidden markup on your
templates.

They all do the same three things; only how each platform exposes its data
differs. Source and install steps are in
[nsl-platforms](https://github.com/NeuronSearchLab/nsl-platforms).

<Note>
  On Shopify? Use the [app](/embed/shopify) instead — it covers the same ground with theme and checkout extensions.
</Note>

## Magento 2

```bash theme={null}
composer require neuronsearchlab/module-recommendations
bin/magento module:enable NeuronSearchLab_Recommendations
bin/magento setup:upgrade && bin/magento cache:flush
```

Then **Stores → Configuration → NeuronSearchLab**: enable it and paste your
embed key.

Place a strip by adding the block to any layout handle:

```xml theme={null}
<block class="Magento\Framework\View\Element\Template"
       name="nsl.pdp.related"
       template="NeuronSearchLab_Recommendations::strip.phtml">
    <arguments>
        <argument name="placement" xsi:type="string">pdp-related</argument>
    </arguments>
</block>
```

## Shopware 6

Copy the plugin into `custom/plugins/`, then:

```bash theme={null}
bin/console plugin:refresh
bin/console plugin:install --activate NeuronSearchLabRecommendations
```

Set the key in the plugin's configuration. Place a strip anywhere in Twig:

```twig theme={null}
<div data-nsl-rec="related" data-nsl-placement="pdp-related" data-nsl-item-url="auto"></div>
```

## PrestaShop 1.7 and 8

Upload the module under **Modules → Module Manager**, install it, and paste
your embed key in its configuration.

SKUs use the product `reference` and fall back to the product id, because
plenty of catalogues leave `reference` empty.

## BigCommerce

BigCommerce gives an app no template hook, so this one is a storefront script
rather than a plugin. Paste it under **Settings → Advanced → Script
Manager**, in the header, on all pages, with your key filled in.

It reads the basket and the order from BigCommerce's Storefront API, which is
same-origin and unauthenticated — there is no API account to create and no
token in the page.

Two limits worth knowing before you install it:

* **Categories come from the breadcrumb.** BigCommerce category URLs carry no
  marker, so there is nothing else reliable across themes. Where a theme has
  no breadcrumb, no category is sent rather than a guess.
* **The order id is not in a consistent place.** The script tries the query
  string, session storage and the URL path. If none has it, the sale is not
  reported — a sale that cannot be keyed is one that would be counted again
  on the next page reload.

## What every adapter sends

| Signal      | Used for                                                              |
| ----------- | --------------------------------------------------------------------- |
| product SKU | which item the page is about                                          |
| category    | scoping a listing page's strip                                        |
| search term | query-driven retrieval on a results page                              |
| basket      | excluded from results, and seeds the strip where the page has no item |
| customer id | personalisation across devices, hashed per workspace                  |
| order       | attribution, as `purchase_reported`                                   |

Your own identifiers throughout. A SKU is resolved against your catalogue
server-side, so there is no id mapping to maintain.

## Conversions are reported, not trusted

Orders arrive as `purchase_reported`: weighted 0 and excluded from model
training, because a browser cannot prove a sale. They are for attribution.

Connect the same platform under **Integrations** and the verified order
supersedes the browser's report on the same order id, rather than adding to
it.

<Warning>
  None of these adapters has yet been exercised against a live store of its platform. They are structurally valid and the endpoints they call are covered by tests, but install each on a staging store before it reaches a merchant.
</Warning>
