omikron/shopware5-factfinder

FACT-Finder® Web Components for Shopware 5

v3.3.0 2022-03-04 13:26 UTC

README

Build status

本文档帮助您将 FACT-Finder® Web Components SDK 集成到您的 Shopware5 商店中。此外,它提供了其主要功能的简要概述。第一章 安装 带您了解建议的安装过程。第二章 设置 介绍了 Shopware5 后端中的自定义选项。最后一章 导出馈送 描述了如何使用提供的控制台命令导出馈送。

需求

  • Shopware 5.5 或更高版本
  • PHP 版本 7.3 或更高

安装

要安装该模块,请打开您的终端并运行以下命令

composer require omikron/shopware5-factfinder

Module Enabled

激活模块

模块激活后,您可以在 配置->插件管理器 下找到配置页面。以下段落将涵盖所有部分。

设置

Main Settings

本节包含一个模块配置,该配置对于模块正常工作是必需的。所有字段都是自解释的。在此设置的配置同时用于 Web 组件以及与 FACT-Finder® 实例的伺服器端通信。您将获得的凭证应放置在此处。请记住,您必须清除商店缓存,以便新的应用配置开始工作。

  • 服务器 URL - FACT-Finder® 实例 URL
    注意: 服务器 URL 应包含一个使用的协议:(例如 https://)并应以端点结尾(fact-finder
  • 通道 - 您希望从中提供数据的数据通道
  • API 版本 - 使用的 FACT-Finder® API 版本
    注意: 模块支持 FACT-Finder® API 版本 v4v5。选择错误的 API 版本可能会导致 Web 组件无法与 FACT-Finder® 通信
  • 用户名
  • 密码
    注意: 模块仅支持 FACT-Finder® NG。

测试连接按钮

通过单击 测试连接 按钮,您可以检查您的凭证是否正确。此功能使用表单数据,因此无需先保存。 注意: 此功能使用主子商店通道输入值。

更新字段角色按钮

通过单击 更新字段角色 按钮,您可以更新 FACT-Finder® 中配置的字段角色。只要您使用与插件提供的馈送相同的列名,就不需要这样做。如果您使用自定义馈送或已更改默认列名,请使用此功能相应地更新字段角色。

在分类页面上使用 FACT-Finder®

使用 FACT-Finder® 渲染分类页面。分类 URL 和 SEO 仍将使用标准的 Shopware 路由。一旦用户到达分类页面,就会立即发出相应的搜索事件(归功于使用 search-immediate 通信参数),并应用相应的分类过滤器。

上传选项

以下设置用于将已导出的馈送上传到指定的 FTP 或 SFTP 服务器。 注意: FTP 服务器应配置为在默认端口 21 上监听

  • FTP 主机
    注意: 请只输入主机,不要包含使用的协议
  • FTP 用户
  • FTP 根目录
    注意: 上传目录(默认为 "/")
  • FTP 端口
  • FTP 密码
  • 私钥
  • 私钥密码

FTP Settings

导入选项

您可以配置模块,在将数据上传到配置的FTP服务器后触发FACT-Finder®导入。

  • 导出后导入数据? - 启用/禁用导入
  • 导入数据类型 - 定义应触发的导入类型。可能类型包括:建议、搜索和推荐

单字段

此设置允许您选择要导出到单独列中的现有产品属性。对其中一种类型的数据执行附加的数据转换

  • 布尔值
  • 日期时间
  • 浮点数

不同类型的自由文本字段以未更改的形式导出。对于定义了实体类型的字段,将导出该实体的标识符。

高级设置

  • 匿名化用户ID - 如果您想以匿名形式发送跟踪请求中的用户ID,请选中此选项。默认情况下,发送用户表中的常规ID字段。

导出馈送

数据源导出在Shopware CLI应用程序中可用。您可以通过执行以下命令来运行它:

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

此命令可以运行,并带有可选的参数,指示您要针对的商店上下文ID。ID是一个整数值。

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

还有两个附加选项

  • -u 在生成数据源后将其上传到配置的FTP服务器。
  • -i 使用先前上传的数据源运行FACT-Finder®导入
    注意: 此选项只能与-u结合使用

Web 组件集成

包含脚本

模块包含包括FACT-Finder Web Components在内的脚本。模块已完成所有包括脚本步骤。

  • 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

所有这些文件都包含在Resources/views/frontend/index/header.tpl中。该文件扩展了Bare主题Shopware 5 header.tpl注意: 如果您的主题没有扩展Bare主题,请确保包含header.tpl中包含的所有脚本。

通信

主配置元素ff-communication添加到文件Resources/views/frontend/index/index.tpl中。与header.tpl一样,它扩展了Bare主题中定义的index.tpl文件。该元素自动填充了在模块后端配置中配置的数据。注意: 如果您的主题没有扩展Bare主题,请确保实现ff-communication元素,因为它是必需的,并且没有它,FACT-Finder Web Components无法工作。

模板

包含Web Components的模板可以在目录Resources/views/frontend/factfinder中找到,也可以在文件Resources/views/frontend/index/search.tpl中找到。就像前面的部分一样,所有模板都尽可能扩展Base主题。如果您正在扩展Bare主题,则可以使用这些模板。如果您不在,则将它们视为实现示例,并选择合适的部分,在您自己的主题文件中实现它们。

向馈送添加新列

标准数据源包含FACT-Finder®工作所需的所有数据。然而,您可能想导出与您的项目相关但不是默认Shopware 5安装部分的信息。本节将向您展示如何使用额外列扩展数据源。

从创建字段提供者开始 - 一个实现OmikronFactfinder\Components\Data\Article\Fields\FieldInterface的类,它将用于导出您的数据。

interface FieldInterface
{
    public function getName(): string;

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

方法getValue包含您的字段逻辑,并接收正在导出的文章详情。

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  
    }
}

一旦定义了额外的列,请使用Symfony DI将其注册为服务(更多信息请参考这里)并将其设置为自动配置。通过这样做,您的字段将被标记为factfinder.export.field,并可以自动被我们的FieldProvider获取。当然,自动配置只是我们提供的一个便利,您仍然可以手动将标签分配给您的服务。

贡献

我们欢迎贡献!更多信息请点击这里

许可

FACT-Finder® Web Components 许可证。更多信息请参阅LICENSE文件。