notdest / yandex-yml-generator
简单的 Yandex Yml 文件生成器。
Requires
- php: >=5.4.0
This package is not auto-updated.
Last update: 2024-09-16 19:08:38 UTC
README
快速连接您的商店到 Yandex.Market 的 YML 生成器。
- 按照“删除示例中的多余内容”的原则进行集成。
- 非常简单,只包含两个类 -
ymlDocument
和ymlOffer
。 - 仅依赖于内置库 -
php-xml
和php-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 秒。
如果需要修改,建议首先熟悉 ymlDocument 和 ymlOffer 的类文档。
附言:如果你认为这个项目应该被更多人看到,请给它加星标。