emico/tweakwise-export

此包已被废弃,不再维护。作者建议使用tweakwise/magento2-tweakwise-export包。

Tweakwise 导出模块(针对 Magento 2)


README

Build Status Code Climate Codacy Badge

安装

使用 composer 安装包

composer config minimum-stability dev
composer require emico/tweakwise-export

使用 zip 文件安装包

Extract tweakwise-export.zip src folder to app/code/Emico/TweakwiseExport/

如果启用了“店铺级别导出”,则可以使用命令行生成单个店铺的源数据。

php bin/magento tweakwise:export --store '<storecode>'

运行安装程序

php bin/magento setup:upgrade
php bin/magento setup:static-content:deploy

使用方法

所有导出设置都可以在“商店”->“配置”->“目录”->“Tweakwise”->“导出”下找到。

可以使用命令行生成源数据。

php bin/magento tweakwise:export

调试

调试是通过 Magento / PHP 的默认调试功能完成的。您可以通过将部署模式设置为开发者来启用源数据的缩进。

php bin/magento deploy:mode:set developer

Usage:
 tweakwise:export [-c|--validate] [file]

Arguments:
 file                  Export to specific file (default: "var/feeds/tweakwise.xml")

Options:
 --validate (-c)       Validate feed and rollback if fails.
 --help (-h)           Display this help message
 --quiet (-q)          Do not output any message
 --verbose (-v|vv|vvv) Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug
 --version (-V)        Display this application version
 --ansi                Force ANSI output
 --no-ansi             Disable ANSI output
 --no-interaction (-n) Do not ask any interactive question

源数据结构

源数据包含一些头部信息,然后是类别和产品。Tweakwise 不原生支持多个店铺,因此所有类别和产品都以 1000{store_id} 为前缀。如果一个产品(ID 为 1178)在多个店铺(例如 1、5 和 8)中活跃且可见,则它将在源数据中出现三次,ID 分别为:100011178、100051178 和 100081178。该产品的数据取决于特定店铺的属性值。简而言之,实体在源数据中的形式为 1000{store_id}{entity_id}

源数据只包含在您的目录配置中可见的产品。如果一个产品有子产品(例如,它是可配置的),则源数据也将包含所有这些子产品的数据。子数据汇总到“父”产品上。这样做的原因是,当用户搜索 M 号 T恤时,可配置产品必须在结果中显示,因此可配置产品应与所有子产品中可用的尺寸一起导出。

源数据只包含对搜索或导航有影响的属性,请检查 src/Model/ProductAttributes.php:45 以了解属性必须满足的导出标准。

关于源数据实现的说明

由于 Magento 的原生接口和数据处理器对于大型目录来说太慢,我们决定自行查询数据。结果是,我们需要跟踪 Magento 的内部工作原理,并受其变化的制约。如果您发现数据检索存在问题,请在 github 上创建问题。

导出设置

  • 店铺级别导出:为每个店铺生成单独的源数据
  • 启用:如果该店铺的产品应导出到 Tweakwise,请注意,如果某些店铺的此设置为 false,则该店铺的导航和搜索也应禁用。
  • 计划:用于生成feed的cron计划。我们强烈建议您在服务器的crontab上注册导出任务,而不是使用Magento cron。
  • 导出计划:在下一个cron运行时生成feed。
  • 密钥:当ExportController请求feed内容或CacheFlush控制器请求刷新缓存时,这将由导出模块进行验证。如果请求没有匹配的密钥参数,则不会提供feed(或者在缓存控制器的情况下,不会刷新缓存)。
  • 允许刷新缓存:允许自动刷新缓存,您可以在发布后配置一个任务来运行以刷新Magento缓存。您必须在任务配置中指定一个URL:使用https://yoursite.com/tweakwise/cache/flush/key/{{feed_key}}作为其URL,这里feed_key等于“密钥”设置中配置的密钥(见上文)。如果此设置设置为无,则tweakwise-export将忽略这些请求。
  • 实时导出:当ExportController请求feed时,它将现场生成一个新的。请注意,这不建议使用!
  • Tweakwise导入API URL:导航器中的任务可以通过API执行。在这里使用导入任务API URL来自动告知tweakwise在生成feed后导入feed。
  • 导出缺货组合产品子产品:Tweakwise导出将汇总父产品的子产品数据,此设置确定是否应将缺货子产品的数据包含在此汇总中。
  • 排除子属性:这些属性的值将在汇总到父产品时被排除。
  • 哪个价格值将被导出到tweakwise作为“价格”。

可见性设置

Magento具有多个可见性设置,tweakwise只知道可见产品,这意味着如果一个产品在feed中,那么它在导航和搜索时将是可见的。magento可见性设置在feed中导出,因此您可以在tweakwise模板中添加一个隐藏的过滤器来人为地使用正确的设置。如果您这样做,则从子产品中排除可见性属性(见“导出设置”)。

事件

目前没有记录事件,这将在未来的版本中完成。

配置文件

使用标准的Magento配置文件进行配置,更多信息将在未来的版本中提供。