首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Prestashop模块1.7.6中添加命令(控制台命令)

在Prestashop模块1.7.6中添加命令(控制台命令)
EN

Stack Overflow用户
提问于 2020-01-31 16:34:14
回答 3查看 704关注 0票数 0

我正在开发一个预prestashop模块(v.1.7.6),我想添加一些来自控制台的命令。问题是,当我配置服务并尝试运行

bin/console mymodule:mycommand

系统返回,在"mymodule“命名空间中没有定义任何命令.

我的services.yml

代码语言:javascript
复制
services:

  mycommand_command:
    class: Mymodule\MycommandCommand
    tags:
      - { name: 'console.command' }

我的composer.json

代码语言:javascript
复制
{
  "autoload": {
    "psr-4": {
      "Mymodule\\": "src/"
    },
    "classmap": [
      "src/Command/"
    ]
  },
  "config": {
    "preferred-install": "dist",
    "prepend-autoloader": false
  },
  "type": "prestashop-module",
  "author": "<???>",
  "license": "<???>"
}

有什么建议吗?

谢谢

EN

回答 3

Stack Overflow用户

发布于 2020-01-31 19:27:08

更新:

对自己说:

当你下一次搜索这个问题时-检查:

config/services.yml

  • The模块中定义的
  1. 命令是installed
  2. Composer自动转储

旧版本:

确保您将autoloader转储到Composer中,并将protected static $defaultName = 'yourmodule:command';添加到命令类中,并设置Symfony文档中提到的任何其他方式的名称。

几天前我也遇到了同样的问题。

票数 0
EN

Stack Overflow用户

发布于 2020-02-03 18:33:31

您在哪里创建了命令类?In src/Command/

票数 0
EN

Stack Overflow用户

发布于 2021-11-08 09:25:47

对任何人来说都是这样的:

按照下面这个链接上的步骤:模块根目录中的https://devdocs.prestashop.com/1.7/modules/concepts/commands/

  • Add composer.json,使用以下代码(并用您的东西替换):

代码语言:javascript
复制
{
    "autoload": {
      "psr-4": {
        "<YOUR-MODULE>\\": "src/"
      },
      "classmap": [
        "src/Command/"
      ]
    },
    "config": {
      "preferred-install": "dist",
      "prepend-autoloader": false
    },
    "type": "prestashop-module",
    "author": "<AUTHOR>",
    "license": "<LICENSE>"
  }

通过ssh和cd通过ssh连接到模块根composer dump-autoload -o --no-dev

  • Test

  • ,通过<ps-root>/bin/console your-module:command

运行

  1. 命令
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60007839

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档