PHP 版本: 8.1
商店软件版本: 6.4.13
预期行为: 数据迁移成功并在后端/前端可见。
实际行为: 迁移的数据在后端/前端中似乎不可见,并且日志中存在错误。
如何重现: 我正在尝试在虚拟环境中的本地开发环境中从带有演示数据的 shopware 5.7 迁移到 shopware 6.4。我已遵循网站 https://docs.shopware.com/en/migration-en/Migrationprocess?category=migration-en/shopware5中提到的所有说明 ,为此我使用了本地网关设置。
虽然迁移的状态是‘成功’。Shopware 6.4 后端看不到迁移的数据,并且迁移过程中的日志中存在错误。我附上了一份日志供参考。
错误日志:
[error] SWAG_MIGRATION_RUN_EXCEPTION
An exception occurred
Entity: language, sourceId: -
SwagMigrationAssistant\Migration\Logging\Log\ExceptionRunLog::__construct(): Argument #4 ($sourceId) must be of type ?string, int given, called in /var/www/webdev/shopware56/custom/plugins/SwagMigrationAssistant/Migration/Service/MigrationDataConverter.php on line 144
[error] SWAG_MIGRATION_RUN_EXCEPTION
An exception occurred
Entity: category, sourceId: -
SwagMigrationAssistant\Profile\Shopware\Converter\ShopwareConverter::getSourceIdentifier(): Return value must be of type string, int returned
[error] SWAG_MIGRATION_RUN_EXCEPTION
An exception occurred
Entity: customer_group, sourceId: -
SwagMigrationAssistant\Profile\Shopware\Converter\ShopwareConverter::getSourceIdentifier(): Return value …
Run Code Online (Sandbox Code Playgroud) 我想实现一个进行外部 API 调用的功能,然后根据请求是否满足将产品线项目添加到购物车,否则它会向客户显示一条翻译后的闪存消息,表明无法添加产品出于 X 个原因加入购物车。
我尝试过的是订阅,BeforeLineItemAddedEvent
但此时该订单项似乎已添加到购物车中,我不太确定如何实现闪存消息。
Shopware 6 为应用程序和插件提供了以下文件夹结构:
\n<shopware root>\n\xe2\x94\x94 custom\n \xe2\x94\x9c app\n \xe2\x94\x9c plugins\n \xe2\x94\x94 static-plugins\n
Run Code Online (Sandbox Code Playgroud)\n显然,应用程序和插件文件夹用于保存您的自定义应用程序和插件。此外,当通过管理员安装时,第三方插件将存储在插件文件夹中。
\n也可以使用 Composer 安装第 3 方插件,在这种情况下它们当然只会显示在顶级供应商文件夹中。
\n我注意到一些开发人员的常见做法是将他们自己的自定义插件或第三方插件放在静态插件文件夹和插件中composer require
。
这种做法仅将代码保留在自定义/插件中是否有任何特殊的原因或好处?
\n阅读此https://developer.shopware.com/docs/guides/plugins/apps/app-scripts#developing-debugging-scripts后,我更新了 .env 文件并将“dev”设置为 APP_ENV 值,但调试栏是没有显示在店面的任何地方。
还有其他事情要做吗?
我本地的 Shopware 版本是 6.4.18.0
这类似于Shopware 6 的问题:custom/static-plugins 文件夹的用途或好处是什么?但在 Shopware 6.5 中,自定义/插件也作为 src 添加到composer.json中,所以我特别询问 Shopware 6.5
"repositories": {
"shopware-packages": {
"type": "composer",
"url": "https://packages.shopware.com"
},
"0": {
"type": "path",
"url": "custom/plugins/*",
"options": {
"symlink": true
}
},
"1": {
"type": "path",
"url": "custom/plugins/*/packages/*",
"options": {
"symlink": true
}
},
"2": {
"type": "path",
"url": "custom/static-plugins/*",
"options": {
"symlink": true
}
}
},
Run Code Online (Sandbox Code Playgroud)
所以我认为所有这两个文件夹现在都是通过 Composer 管理的。
对于专门为项目开发人员放置插件的建议是什么?
如果您从不提供 Composer 存储库的第 3 方供应商处收到 ZIP 文件,该怎么办?
从 Shopware 6.5 开始,拥有这些不同文件夹的目的是什么?
如何在前端的 Javascript 代码中访问剪切的翻译(如下创建:https: //developer.shopware.com/docs/guides/plugins/plugins/storefront/add-translations )?
我首先想到的是将翻译后的字符串打印到 twig 文件中的某种隐藏标签/数据属性中,然后从 JavaScript 代码中读取它。
但有没有建议的方法来做到这一点?
编辑:我正在寻找有关 Shopware 6 核心开发人员如何做到这一点的示例,以找到最佳实践而不是发明自己的东西。
我将在shopware 6中更改发票pdf模板的模板。
模板自身似乎存储在数据库中的“文档”表中。pdf是由php生成的。
有人知道如何获得完整的自定义模板吗?
后台的配置还不够。
谢谢。
当我尝试编译shopware 6时
./bin/build-storefront.sh
我收到一条错误消息,提示 Chromium 下载无法完成。
npm ERR! code 1
npm ERR! path /home/username/vendor/shopware/storefront/Resources/app/storefront/node_modules/puppeteer
npm ERR! command failed
npm ERR! command sh -c node install.js
npm ERR! ERROR: Failed to set up Chromium r950341! Set "PUPPETEER_SKIP_DOWNLOAD" env variable to skip download.
npm ERR! [Error: EINVAL: invalid argument, realpath '/home/username/vendor/shopware/storefront/Resources/app/storefront/node_modules/puppeteer/.local-chromium/linux-950341'] {
npm ERR! errno: -22,
npm ERR! code: 'EINVAL',
npm ERR! syscall: 'realpath',
npm ERR! path: '/home/username/vendor/shopware/storefront/Resources/app/storefront/node_modules/puppeteer/.local-chromium/linux-950341'
npm ERR! }
npm ERR! A complete log of this run can be found …
Run Code Online (Sandbox Code Playgroud) 我正在管理多个安装了很多插件的 Shopware 6 商店。后端只允许更新一个插件,这是相当耗时的,因为更新分两步完成:
为什么没有“更新所有插件”按钮(例如在 WordPress 中;-))?
最好的,罗马
我期待一个 gui 或 cli 命令,它允许立即下载和更新所有带有待更新的插件。
shopware6 ×10
shopware ×4
backend ×1
chromium ×1
composer-php ×1
javascript ×1
migration ×1
npm ×1
pdf ×1
plugins ×1
puppeteer ×1
shopware5 ×1
templating ×1
translation ×1