如何创建适用于Marketplace的Magento 2扩展


27

我创建了一个Magento 2扩展程序,希望将其上传到Magento Marketplace。

当我尝试上传扩展程序时,由于一个或另一个原因,它多次遭到拒绝。由于提交了这么多文件,我的扩展程序被Magento拒绝,但以下消息被拒绝了。

出于政策或质量方面的原因,我们在评估了您的提交后决定不再继续审查“我的扩展”

现在,Magento不允许更新和重新提交我的扩展程序。

我检查了一下,发现Magento正在使用其EQP流程来检查上传到Marketplace的扩展。

准备Magento 2扩展市场时,我需要注意哪些事项?


1
您是否对“扩展程序必须能够使用Composer安装”有任何想法?
inrsaurabh

这意味着您的模块必须能够使用命令行进行安装。请参阅devdocs.magento.com/guides/v2.1/cloud/howtos/…示例命令看起来像composer require <component-name>:<version> --no-update
Jaimin Sutariya

Answers:


24

以下是我发现的一些有助于减少拒绝并通过EQP流程的事情。

模块检查:

  1. 保持您的供应商名称与您的市场帐户的供应商名称相同
  2. developer启用模式的情况下创建扩展
  3. 在扩展名Eg的根文件夹中必须有composer.json。具有正确配置和依赖项的app / code / Vendor / Module / composer.json
  4. 在扩展名Eg的根文件夹中必须具有registration.php。app / code / Vendor / Module / registration.php

代码检查:

  1. 不要使用$_REQUEST$_POST$_GET$_FILE直接
  2. 永远不要以结尾的php标签结束类文件 ?>
  3. 不要在代码中使用die()exit()
  4. 请勿在// @codingStandardsIgnoreLine// @codingStandardsIgnoreFile代码中使用
  5. 删除不必要的代码和注释
  6. 使用空格缩进
  7. 检查代码是否重复请参阅 Use ClassPreferences和/或Magento 2的plugin结构,以避免重复代码。

  8. 为您的班级添加PHP DockBlock

  9. 为每个带有参数和返回类型的函数使用正确的DockBlock。

  10. 在模块开发中最好使用服务合同方法。

测试与调试:

  1. 使用Magento编译检查扩展功能 php bin/magento setup:di:compile
  2. production启用模式下检查兼容性
  3. 在启用和禁用缓存的情况下进行测试
  4. 验证您的包裹,例如 php validate_m2_package.php my-theme.zip my-module.zip
  5. phpcsEg 检查编码标准$ vendor/bin/phpcs /path/to/your/extension --standard=MEQP2 --severity=10
  6. 对您的代码进行完整的测试。执行命令bin/magento dev:tests:run 更多参考

内容和说明检查:

  1. 不要在文档或图像中使用Magento徽标
  2. 不要将“产品包装盒图片”用作扩展主图片
  3. 为扩展功能添加适当的描述
  4. 纠正语法错误(标点符号,大写字母,单词用法等)。请记住正确使用“ a”,“ an”和“ the”。必要时,请确保单词为复数形式。确保应该过去时的单词是过去时。
  5. 检查并确认您的文档或描述内容中没有任何断开的链接。
  6. 不要在描述内容中添加其他扩展/服务的链接。禁止在Magento Marketplace或Magento Connect中推广服务或其他创建的扩展。

其他:

  1. 将您的税表电子副本提交到marketplace@magento.com(仅当您出售付费扩展名时才需要)

遵循上述标准的做法肯定会提高扩展质量。


1
你是在自问自答。所以你知道这一切,但他们仍然拒绝了你?
Konstantin Gerasimov

我遵循了以上所有条件,并上传了另一个扩展程序。它仍处于审查阶段。如果您还有其他建议,请将其添加为答案。@ Goivvy.com
Jaimin Sutariya

是否可以通过任何方式通过自动化cron或在线检查模块,然后再提交?
Aditya Shah,

1
你好,@ aditya。我认为您不需要cron来验证模块,因为您不需要一次又一次地检查它。对于在线工具,我不确定是否有任何在线工具可以完全验证您的软件包,但是您可以检查customerparadigm.com/magento-development/…以及我们在我以前的公司github.com/mconnectmedia中
Jaimin Sutariya

1
您好@SanjayGohil,我认为它不会批准您的扩展名。但是您可以尝试一下。
Jaimin Sutariya

9

批准我们进入市场有很多步骤。我等待大约1个月才能批准进入市场,今天终于获得批准。

对于市场上的每一次审核失败,他们都提供了失败审核的特定原因。

所以这是我在审查时面临的失败清单

1)如果您在自业务审查批准之日起的1个月内未提交代码,我们将假定该产品已被放弃,因此将在1个月后将其拒绝。

2)出于政策或质量方面的考虑,在评估您提交的内容后,我们决定不再继续对常见问题进行审核。以下是我们做出决定的原因的摘要:

技术:代码质量问题:

安装:此扩展程序未通过Marketplace EQP安装测试。要在编译并在生产模式下运行时成功安装扩展,必须先进行扩展。您可以在以下网站的开发人员指南中找到有关命令行配置,将Magento模式设置为“生产”以及编译代码的说明:http : //devdocs.magento.com/guides/v2.1/config-guide/cli /config-cli.html 一旦代码支持在生产模式下进行编译和执行,请重新上传您的软件包。

3)请注意,由于我们队列中的扩展数量(1000+),我们的扩展质量计划遇到了一些延迟。我们估计最多可能需要90天才能审核您的扩展程序。为了确保您的扩展程序得到快速批准,请考虑以下事项:

使用以下工具,验证扩展代码和营销内容是否符合Marketplace标准:

营销内容准则

软件包验证EQP工具验证加入我们的合作伙伴计划(合作伙伴扩展将获得优先权)快速响应任何更改请求

4)我们想告知您,您的提交已被拒绝审核。为了使我们能够批准您的提交,请按照我们的指南重新提交以下更正内容:

公司徽标:将公司徽标添加到您的个人资料(公司或个人)。它必须看起来很专业;但是,不一定需要是您的照片。它应该是255 x 255 px,jpg,gif或png。

Long Description: Each extension should have an opening paragraph that describes the product (give a summary) not just a list of

特征。此描述应描述产品功能以及产品的功能,以便使消费者能够回答有关产品和/或相关服务的所有基本问题。

Company Bio: Add a short bio to your profile to help merchants better understand you or your company.

Company Name: Update your Company Name to represent you or your company. The Company Name cannot infer that Magento is affiliated with

您的公司或扩展名。

List Features: Please list the features vertically with bullet points. Use the WYSIWYG editor. Highlight the features and click the

项目符号点图标。这使得描述更容易遵循

Additional Comments:
*********TRADEMARK VIOLATION: Remove the Magento Logo from the extension icon and screenshot.******

*********TRADEMARK VIOLATION: The current Company URL must be changed.******

5)我们想让您知道您的提交已被拒绝审核。为了使我们能够批准您的提交,请按照我们的指南重新提交以下更正内容:

商标侵权:您不得在扩展名,扩展名图标,域名,网站用户名或屏幕名称,电子邮件地址,电子邮件域或您自己的品牌中使用Magento名称,否则可能会干扰Magento的与您的公司或分公司的隶属关系。

附加注释: *******从扩展图标中删除“ Magento 2” *****

*******从简短描述和长篇描述中的每一个扩展名中删除“ Magento 2”。*****

*******在详细说明中仅使用默认字体。*****

*******在描述产品的详细描述(功能列表之前)的开头段落中添加更多详细信息。明确扩展可以为客户做什么,扩展的工作方式,并提供扩展的详细功能。您可能想举一些使用扩展名的例子。让商家对他们的网站(如果他们购买了您的扩展程序)的外观和功能有深刻的了解。*******

6)我们有个好消息!您提交的常见问题解答已完成我们的技术和市场审查流程。

最后,许多审核过程都批准了我的扩展程序,并且该扩展程序现已在市场上发布。

https://marketplace.magento.com/prince-module-faq.html


当您收到“我们已决定不再继续对FAQ的审查”消息时,您做了什么?因为收到此邮件后,我们将无法再次更新我们的扩展程序以供审核。
Jaimin Sutariya

您可以通过电子邮件发送至marketplace@magento.com任何查询。我通过电子邮件联系市场查询我对扩展审查的疑问。
帕特尔王子(Prince Patel)

热情欢迎您,乐于助人:)
帕特尔王子(Prince Patel)

@Prince Patel,我的检查中出现以下错误,Composer需要供应商/magento2-xxxx:1.0.0'安装问题:使用软件包信息加载composer存储库更新依赖项(包括require-dev)您的要求无法解决为可安装项套包。问题1-在任何版本中都找不到所请求的软件包供应商/ magento2-xxxx,软件包名称中可能有错字。环境:操作系统-Centos 7,PHP版本-7.0.23,Magento平台-2.0.16 CE
Pushpendra Singh,2010年

1
@Pawan供应商名称必须与Magento开发者帐户的帐户信息中的供应商名称相同。您可以从developer.magento.com/account/profile- > Marketplace Profile->供应商名称中找到它。就我而言,两个名字是相同的。
帕特尔王子

2

除了您的要点之外,还需要使用各种Community和Enterprise Magento版本对扩展进行功能测试。因为在EQP中,扩展的手动功能测试也作为一个步骤(“质量检查”)添加,并且在此阶段也拒绝了扩展。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.