PHPackages                             omikron/shopware5-factfinder - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [API Development](/categories/api)
4. /
5. omikron/shopware5-factfinder

ActiveShopware-plugin[API Development](/categories/api)

omikron/shopware5-factfinder
============================

FACT-Finder® Web Components for Shopware 5

v3.3.0(4y ago)1861[1 issues](https://github.com/FACT-Finder-Web-Components/shopware5-plugin/issues)[1 PRs](https://github.com/FACT-Finder-Web-Components/shopware5-plugin/pulls)proprietaryPHPPHP ^7.3CI failing

Since Apr 9Pushed 3y ago3 watchersCompare

[ Source](https://github.com/FACT-Finder-Web-Components/shopware5-plugin)[ Packagist](https://packagist.org/packages/omikron/shopware5-factfinder)[ RSS](/packages/omikron-shopware5-factfinder/feed)WikiDiscussions master Synced yesterday

READMEChangelog (10)Dependencies (4)Versions (24)Used By (0)

FACT-Finder® Web Components for Shopware 5
==========================================

[](#fact-finder-web-components-for-shopware-5)

[![Build status](https://github.com/FACT-Finder-Web-Components/shopware5-plugin/workflows/build/badge.svg)](https://github.com/FACT-Finder-Web-Components/shopware5-plugin/actions)

This document helps you to integrate the FACT-Finder® Web Components SDK into your Shopware5 Shop. In addition, it gives a concise overview of its primary functions. The first chapter *Installation* walks you through the suggested installation process. The second chapter *Settings* explains the customisation options in the Shopware5 backend. The final chapter *Exporting Feed* describes how to use provided console command to export the feed.

- [Requirements](#requirements)
- [Installation](#installation)
- [Activating the Module](#activating-the-module)
- [Settings](#settings)
    - [Test Connection Button](#test-connection-button)
    - [Update Field Roles Button](#update-field-roles-button)
    - [Using FACT-Finder® on category pages](#using-fact-finder-on-category-pages)
    - [Upload Options](#upload-options)
    - [Import Options](#import-options)
    - [Single Fields](#single-fields)
- [Exporting Feed](#exporting-feed)
- [Web Components Integration](#web-components-integration)
    - [Including Scripts](#including-scripts)
    - [Communication](#communication)
    - [Templates](#templates)
- [Adding New Column To Feed](#adding-new-column-to-feed)
- [Contribute](#contribute)
- [License](#license)

Requirements
------------

[](#requirements)

- Shopware 5.5 or higher
- PHP version 7.3 or higher

Installation
------------

[](#installation)

To install the module, open your terminal and run the command:

```
composer require omikron/shopware5-factfinder

```

[![Module Enabled](docs/assets/module-enabled.png "Module enabled")](docs/assets/module-enabled.png)

Activating the Module
---------------------

[](#activating-the-module)

Once the module is activated, you can find the configurations page under `Configuration->PluginManager`. All sections will be covered in the following paragraphs.

Settings
--------

[](#settings)

[![Main Settings](docs/assets/main-settings.png "Main settings")](docs/assets/main-settings.png)

This section contains a module configuration, which is required in order for the module to work. All fields are self-explained. Configuration set here is used by both Web Components and during the server side communication with FACT-Finder® instance. Credentials you will be given should be placed here. Please remember that you have to clear the store cache in order the new applied configuration to start working.

- Server URL - FACT-Finder® instance url
    **Note:** Server URL should contain a used protocol: (e.g. `https://`) and should end with an endpoint ( `fact-finder` )
- Channel - Channel you want to serve data from
- API Version - Used FACT-Finder® api version
    **Note:** Module supports FACT-Finder® api version `v4` and `v5`. By selecting the wrong api version you may cause the Web Components to be unable to communicate with FACT-Finder®
- Username
- Password
    **Note:** Module supports FACT-Finder® NG only.

### Test Connection Button

[](#test-connection-button)

By clicking the `Test Connection` button, you can check if your credentials are correct. This functionality uses form data, so there is no need to save first. **Note:** This functionality uses main sub shop channel input value.

### Update Field Roles Button

[](#update-field-roles-button)

By clicking the `Update Field Roles` button, you can update the internal plugin configuration with the field roles configured in FACT-Finder®. You don't need to do that as long as you use the same column names as in feed, the plugin offers. If you use custom feed or you have changed default column names, please use this functionality to update field roles accordingly.

### Using FACT-Finder® on category pages

[](#using-fact-finder-on-category-pages)

Render category pages with FACT-Finder®. Categories URLs and hence SEO will still use standard Shopware routing. Once the user lands on a category page, a search event is immediately emitted (thanks to `search-immediate` communication parameter usage) with the corresponding category filter applied.

### Upload Options

[](#upload-options)

Following settings are used for uploading already exported feed to a given FTP or SFTP server. **Note:** FTP server should be configured to listen on default port 21

- FTP host
    **Note:** Please enter the host only, without the used protocol
- FTP user
- FTP Root dir
    **Note:** Directory to upload (by default - "/")
- FTP port
- FTP password
- Private key
- Private key passphrase

[![FTP Settings](docs/assets/ftp-settings.png "FTP Settings")](docs/assets/ftp-settings.png)

### Import options

[](#import-options)

You can configure the module to trigger FACT-Finder® import after the feed is uploaded to the configured FTP server.

- Import data after export? - Enable/disable import
- Import data types - define import types which should be triggered. Possible types are: Suggest, Search and Recommendation

### Single Fields

[](#single-fields)

This setting allows you to select existing product attributes to be exported in a separated columns. Additional data transformations are performed on the data of one of these types:

- BOOLEAN
- DATETIME
- FLOAT

Free text fields of different type are exported in non changed form. For the field with Entity type defined, it will export the Identifier of that entity.

### Advanced Settings

[](#advanced-settings)

- `Anonymize User ID` - check this option if you want to send user id with tracking requests in anonymized form. By default the regular id field from user table is sent.

Exporting Feed
--------------

[](#exporting-feed)

Feed export is available in the Shopware CLI application. You can run it by executing:

```
php [SHOPWARE_ROOT]/bin/console factfinder:export:articles

```

The command can be run with an optional argument indicating the shop context ID that you are targeting. The ID is an integer value.

```
php [SHOPWARE_ROOT]/bin/console factfinder:export:articles 1

```

There are two additional options:

- `-u` uploads the feed to the configured FTP server after feed is generated.
- `-i` runs the FACT-Finder® import with previously uploaded feed
    **Note:** This option works only in a combination with `-u`

Web Components Integration
--------------------------

[](#web-components-integration)

### Including Scripts

[](#including-scripts)

The module is shipped with script including FACT-Finder Web Components. A whole [Including Scripts](https://web-components.fact-finder.de/documentation/4.x/include-scripts) step is done by the module.

- Resources/views/frontend/\_public/ff-web-components/vendor/custom-elements-es5-adapter.js
- Resources/views/frontend/\_public/ff-web-components/vendor/webcomponents-loader.js
- Resources/views/frontend/\_public/ff-web-components/bundle.js

All these files are included in `Resources/views/frontend/index/header.tpl`. That file extends the Bare theme Shopware 5 [header.tpl](https://github.com/shopware/shopware/blob/5.7/themes/Frontend/Bare/frontend/index/header.tpl). **Note:** If your theme doesn't extend the Bare theme, make sure you include all scripts `header.tpl` is including.

### Communication

[](#communication)

Main configuration element `ff-communication` is added in file `Resources/views/frontend/index/index.tpl`. Same as with `header.tpl`, it extends the [index.tpl](https://github.com/shopware/shopware/blob/5.7/themes/Frontend/Bare/frontend/index/index.tpl) file defined in Bare theme. This element is automatically filled with the data, configured in module backend configuration. **Note:** If your theme doesn't extend the Bare theme, make sure you implement `ff-communication` element as it is mandatory and FACT-Finder Web Components will not work without it.

### Templates

[](#templates)

Templates including Web Components can be found in directory `Resources/views/frontend/factfinder` and also in file `Resources/views/frontend/index/search.tpl`. Just as with the previous sections, all templates are extending Base theme wherever it is possible. You can use these templates if you are extending the Bare theme. In case you are not, treat them as an implementation examples and select suitable pieces and implement them in templates in your own theme files.

Adding New Column To Feed
-------------------------

[](#adding-new-column-to-feed)

The standard feed contains all data FACT-Finder® requires to work. However, you may want to export additional information which is relevant for your project and not part of a default Shopware 5 installation. This section shows you how to extend the feed with additional column.

Start with creating field provider - a class implementing `OmikronFactfinder\Components\Data\Article\Fields\FieldInterface` which will be used to export your data.

```
interface FieldInterface
{
    public function getName(): string;

    public function getValue(Detail $detail): string;
}
```

The method `getValue` contains your field logic and receives the article detail currently being exported.

```
class CustomColumn implements FieldInterface
{
     public function getName(): string
     {
        return 'MyColumnName'; // Will be used as column header in the CSV feed
     }

    public function getValue(Detail $detail): string
    {
        // Implement logic to fetch and transform data for a given article detail
    }
}
```

Once your additional column is defined, register it as a service using Symfony DI (you can find more information [here](https://developers.shopware.com/developers-guide/services/#registering-the-service)) and set them to be [auto-configured](https://symfony.com/doc/3.3/service_container.html#the-autoconfigure-option). By doing this, your fields will be tagged as `factfinder.export.field` and can be picked up automatically by our `FieldProvider`. Of course, autoconfiguration is just a convenience we offer, you can still assign the tag to your service manually.

Contribute
----------

[](#contribute)

We welcome contribution! For more information, click [here](.github/CONTRIBUTING.md)

License
-------

[](#license)

FACT-Finder® Web Components License. For more information see the [LICENSE](LICENSE) file.

###  Health Score

22

—

LowBetter than 22% of packages

Maintenance0

Infrequent updates — may be unmaintained

Popularity12

Limited adoption so far

Community11

Small or concentrated contributor base

Maturity57

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 85.7% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~31 days

Recently: every ~52 days

Total

21

Last Release

1232d ago

Major Versions

v1.0.5 → v2.0.02021-10-29

v2.0.2 → v3.0.0-rc.12022-03-01

v2.0.3 → v3.0.12022-03-17

PHP version history (2 changes)v1.0.0PHP ^7.1

v3.3.0PHP ^7.3

### Community

Maintainers

![](https://www.gravatar.com/avatar/aace3f96144609268cdbdfc693d5cdd46de712260ec0837e500b4c0c5c6426db?d=identicon)[a-laurowski](/maintainers/a-laurowski)

---

Top Contributors

[![grzegorz-jamroz](https://avatars.githubusercontent.com/u/3972792?v=4)](https://github.com/grzegorz-jamroz "grzegorz-jamroz (6 commits)")[![paulfcdd](https://avatars.githubusercontent.com/u/11246832?v=4)](https://github.com/paulfcdd "paulfcdd (1 commits)")

---

Tags

fact-findershopware-pluginweb-components

###  Code Quality

TestsPHPUnit

Code StylePHP CS Fixer

### Embed Badge

![Health badge](/badges/omikron-shopware5-factfinder/health.svg)

```
[![Health](https://phpackages.com/badges/omikron-shopware5-factfinder/health.svg)](https://phpackages.com/packages/omikron-shopware5-factfinder)
```

###  Alternatives

[sybrew/the-seo-framework

An automated, advanced, accessible, unbranded and extremely fast SEO solution for any WordPress website.

47078.8k](/packages/sybrew-the-seo-framework)[a2design-company/mandrill-cakephp-plugin

Mandrill CakePHP plugin

193.2k](/packages/a2design-company-mandrill-cakephp-plugin)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
