问题标签 [shopware6]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
54 浏览

php - Shopware : 如何在 Order 对象中获取产品的 customFields

当使用以下代码下订单时,我目前正在尝试在产品中获取自定义字段“ emakers_custom_field_warehouse_name ”。

这是我的搜索请求:

这是我序列化 $orderObject->getLineItems->first()->getProduct() 时得到的结果: https ://gist.github.com/Youmar0504/8b53632fbc1b43c11769711519a74a17

我已经尝试过并给了我空的结果:

TBH,我不知道还能尝试什么。看起来(如果您在要点中搜索 customField 的名称)它位于产品翻译实体中。但是,如果我执行 $orderObject->getLineItems->first()->getProduct()->getProductTranslations(),我会收到一条错误消息“尝试调用类“Shopware\Core\Content\ 的名为“getProductTranslations”的未定义方法产品\产品实体

还有什么我可以尝试的吗?

0 投票
0 回答
18 浏览

shopware - 在 Shopware 6 中的模块激活期间避免主题编译

我们正在使用如下一系列命令激活几个模块:

这似乎每次都重建主题。

反正我们做决赛bin/build-storefront.sh,所以很多时间都在这里浪费了。

有没有办法在不构建主题的情况下激活插件?

0 投票
1 回答
16 浏览

api - 我如何通过更新嵌套值。API?

我如何通过更新嵌套值。API?我想更新我的自定义字段custom_product_fields_magento_product_id

请求路径:/api/product/f9529c4f40e94fa6ae7439f97090cc9e

请求类型:PATCH

身体:

我哪里错了?我可以轻松更新未嵌套的产品值,例如"productNumber" : "value"

0 投票
0 回答
17 浏览

javascript - 如何找出导致 Chrome 事件的原因?

我们在 Shopware 6 上使用范围过滤器插件,该插件在 Javascript 中绑定以下事件:

我们发现,如果 Chrome 94 中的用户(这在 Firefox 中不会发生)被重定向到不同的页面,然后使用浏览器的后退按钮,则会触发这些事件,而无需用户与页面进行交互。

当我们在函数中设置断点时:

事件变量如下所示:

事件代码

调用堆栈为空:

调用栈

现在我们如何进一步调试并找到此事件的根本原因?

  • 如果事件是由另一个函数触发的,我们认为调用堆栈不应该为空。

  • 我们trusted = true认为这意味着它是由用户触发的事件

  • 但是用户只是使用了后退按钮并没有做input任何事情。

那么这个事件的原因可能是什么?这是 Chrome 错误吗?

0 投票
1 回答
56 浏览

javascript - 后台产品表单中的字段,如何编辑、添加和继承?

这是这个问题的延续。我仍在学习如何使用 Shopware,我的文件中的文件结构几乎相同。

我想在管理员的产品表单中添加 3 个字段,到目前为止,我已经在产品表上创建了表和额外的列(虽然不确定我是否真的需要这个)。当我硬编码时,它将字符串保存到我的新表中,实体似乎已被读取,当我搜索存储库时,我得到了正确的扩展扩展名:

但是我真的不明白如何保存该值并将其读出,因为当我获得带有值的扩展名时,我无法将值放在输入字段中,而当我保存它时却没有,因为我得到了这个error TypeError: e.getEntityName is not a function,我猜它来自 sw-inherit.wrapper/index.js 文件。

我想在管理员中使用产品页面的可交付性部分中的字段。基本上用浮动替换 3 个输入,因为商店将出售织物,而这以米为单位,如 0.2 米。

所以我的树枝模板看起来像这样:

{% 端块 %}

但我很困惑,我不知道我在寻找什么或如何识别我缺少的东西。我将不胜感激任何建议或意见。

如果我不清楚,对不起,因为我似乎没有真正理解这个问题,而且绝对不是 Vue 也不是 Shopware 精通,但想学习。谢谢

0 投票
1 回答
112 浏览

shopware - Shopware 6:如何获取店面中的所有自定义字段数据?

我想在产品详细信息页面上显示产品中定义的所有自定义字段。但问题是我得到的所有数据都是技术名称和价值。

我想要实现的是,我还获得了后端定义的标签和位置,正如您在这张图片中看到的那样。

自定义字段

我想遍历自定义字段以显示它们。而且由于无法知道您返回了哪些自定义字段,因此我无法自己定义标签。

有没有办法做到这一点?

0 投票
1 回答
21 浏览

paypal - Shopware6 无法禁用 PayPal Ratepay Banner(页面重新加载后自动重新启用)

在 Shopware 6 中,默认启用 PayPal Ratepay Banner(PayPal Pay Later Message)。从理论上讲,横幅应该可以在设置 > 插件 > PayPal 中禁用。但点击相应按钮后,保存并重新加载页面后,该按钮再次启用。


Shopware 版本:v6.4.7.0 稳定版

贝宝版本:4.1.0

语言:德语

0 投票
1 回答
153 浏览

symfony - 如何在 shopware 6 中装饰实体定义

我想在插件 shopware 6 中装饰实体定义以添加一些修改。我想将长度字符串字段从标准 255 更改为 4000。

要更改的定义类

我的装饰班

更改长度字符串字段

我的配置服务

但这不起作用。我已经尝试了页面 https://developer.shopware.com/docs/guides/plugins/plugins/plugin-fundamentals/adjusting-servicehttps://symfony.com/doc/current/service_container/service_decoration 的所有方法。 html

是否可以更改其他插件中的实体定义?

0 投票
2 回答
76 浏览

symfony - 如何优先路由

我已经通过覆盖的路由覆盖了应用程序中的控制器并且它可以工作,但还安装了另一个插件,它覆盖了与我覆盖的相同的路由(此插件无法更改),现在商店软件支持此路由,而不是我的。

这是我要显示的控制器

这是另一个插件中的控制器 - 我不想显示它(我需要这个插件,因为我需要功能,但我不需要这条路线)

我已经阅读了这篇文章https://symfony.com/blog/new-in-symfony-5-1-route-annotations-priority但它不起作用,因为这不会优先考虑名称,只有 url。

如何优先考虑我的路线名称以由商店软件支持?

0 投票
1 回答
38 浏览

php - Shopware 6 - 在 Max total uses 和 Max uses per customer 旁边添加新的促销无效条件

我尝试将 MaxBudget 功能添加到 Shopware 6 促销活动中。该字段应该像字段 Max total uses (MaxRedemptionsGlobal) 和 Max uses per customer (MaxRedemptionsPerCustomer) 一样工作。

这意味着,如果促销的预算为... 1000 欧元,则当所有订单的促销折扣加起来达到 1000 欧元时,促销无效。就像达到最大总使用量阈值一样。

我将 MaxBudget 添加为实体扩展,并在 Max 下有一个字段。每个客户在管理中的使用。

至于店面购物车,我注意到 Max 使用的条件(全球和每个客户)并检查了 PromotionCollector。在private function getEligiblePromotionsWithDiscounts有此代码验证订单最大使用每个客户和订单最大使用全局:

我需要的是,在上述条件之后添加一个附加条件,如下所示:

所以问题是,除了这两个之外,我在哪里可以添加一个额外的条件来检查最大预算?我是否必须扩展 PromotionCollector 类并覆盖该方法?也许我可以添加一个像 PromotionMaxBudgetCollector 这样的新类。我不确定这是否是正确的方法。