notdest/yandex-yml-generator

简单的 Yandex Yml 文件生成器。

1.0 2019-08-10 20:36 UTC

This package is not auto-updated.

Last update: 2024-09-16 19:08:38 UTC


README

快速连接您的商店到 Yandex.Market 的 YML 生成器。

  • 按照“删除示例中的多余内容”的原则进行集成。
  • 非常简单,只包含两个类 - ymlDocumentymlOffer
  • 仅依赖于内置库 - php-xmlphp-mbstring,通常它们已经安装。

安装

composer require notdest/yandex-yml-generator

如果没有使用包管理器,请按照示例连接 /src/ 文件夹中的两个文件。

检查功能

下载项目并运行示例 arbitrary.php。可能会提示无法创建文件 - 给示例文件夹赋予写入权限。生成的 arbitrary.xml 文件可以使用 Yandex 服务 进行验证。

示例结构

为每种描述类型制作了相应的示例,按照“删除多余内容”的原则。字段顺序与文档中的一致,除了构造函数中提到的。示例如下

// model, vendor, id, price, currencyId, categoryId	, [price from - "цена от ххх руб." ]
$offer = $y->arbitrary( '3811', 'Brand', 'id01id1111', 900, "USD", 15 /* , true*/ );

$offer	->cbid(80)				//	Размер ставки на карточке товара. 0,8 у.е.
	->url("http://magaz.ru/tovar.html")	// !!!	условно обязательный. URL страницы товара 
	//->vat('VAT_10_110') отсутствует в схеме	// Ставка НДС для товара.

在这里,arbitrary() 创建了“任意”类型的报价,其中包含必填字段。方法 cbid() 已不再必填,如果不需要,可以简单地删除它。方法 url() 也可以删除,但没有它,则“跳转到网站”模式将无法工作。接下来,方法 vat() 在文档中有描述,但在 技术要求 中未提及且无法通过验证。每行都有注释。示例文件

使用 Yandex 服务 进行验证,指定类型为 "Market"

与 Yandex 文档对照

Yandex 的文档主要是表格形式。因此,我也用类似的表格记录了示例,字段顺序与文档中的一致,并描述了当前的规则和限制。只需打开两个浏览器窗口,一个用于 Yandex 文档,一个用于我的文档,查找差异。如果没有差异,则很好;如果有,请在 电子邮件 中指出。

不需要检查所有内容,通常使用通用字段和某个特定类型。

还进行了 examples/stress-test.php 的负载测试。生成 500 MB 大小的文件(Yandex 允许的最大大小)需要 143 秒钟,内存消耗为 2 MB。或者在我的新电脑上只需要 31 秒。

如果需要修改,建议首先熟悉 ymlDocumentymlOffer 的类文档。

附言:如果你认为这个项目应该被更多人看到,请给它加星标。