问题标签 [smartedit]

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 回答
750 浏览

hybris - SmartEdit:除非刷新页面,否则嵌套 CMS 组件中的更改不会反映

SAP 商务 1811

我创建了一个自定义 CMS 组件,它分配了 CMSlinkComponent 的集合。每当我在嵌套的 CMSLinkComponent 中更改某些内容并单击子编辑器中的保存按钮时,父编辑器的保存按钮不会启用,如果我取消父编辑器,除非我再次刷新页面,否则链接更改不会得到反映。

它是 SmartEdit 中现有的错误吗?或者我错过了什么?

0 投票
1 回答
555 浏览

hybris - 我们可以在 SmartEdit 的组件编辑器中编辑 CMSNavigationNode 吗?

SAP 商务 1811

根据文档,在 SmartEdit 中,我们只能通过导航管理选项卡添加、更新、删除父子导航节点。

当我们进入站点并开始使用导航节点时,我们只能从树状结构中选择它。

例如,帐户导航组件

在此处输入图像描述

在这个组件中,我们只能选择导航节点,没有办法从这里添加、更新导航节点。

有没有办法这样做,或者只有导航管理选项可用,我们可以管理所有事情?

0 投票
1 回答
207 浏览

angular - 如何覆盖通过节点模块生成的角度组件

我正在研究 Hybris smartedit,登录页面表单是通过 node_modules 生成的。

在登录页面加载时,我想通过不在 node_modules 中的 smartedit 自定义加载器组件设置用户名和密码。

实现这一目标的正确方法是什么。

0 投票
1 回答
625 浏览

hybris - 在自定义 ycommercewebservices 扩展和 Spartacus 中安装 SmartEdit 的问题

我想将 SmartEdit 安装到我们的项目中。我们的项目中没有自定义 yacceleratorstorefront,而是自定义 ycommercewebservices。

我将所有扩展(除了 ysmarteditmodule)添加到我们的扩展并运行

出现ant clean all以下错误时:

我在https://answers.sap.com/questions/12771124/smarteditaddon-hybris-63-not-working.html中发现了一个与 SmartEdit 相关的类似问题。最后一个答案是:

我的店面中的 buildcallbacks.xml 似乎不是最新的。我将它与 yacceleratorstorefront 中的进行了比较,添加了缺失的部分,然后(在另外添加了一些缺失的文件之后),构建运行没有问题。

但是我们的项目中没有 yacceleratorstorefront。所以我将 yacceleratorstorefront/buildcallbacks.xml 与我们的customercommerwebservices/buildcallbacks.xml 进行了比较,但没有成功。

你有什么想法吗?

谢谢你的帮助!干杯菲利普

0 投票
1 回答
267 浏览

spartacus-storefront - Spartacus (SmartEdit) 中是否支持自定义 AbstractCMSComponentContainer?

我在后端有以下数据模型:

扩展 CMSTabParagraphContainer 的容器,因为扩展 AbstractCMSComponentContainer 很麻烦(必须调整生成的 jalo 类,但这对于这种情况并不重要,仅用于理解。

现在我在 Spartacus CmsAccordionComponent 中有一个组件。我介绍了一个组件映射:

在我的组件 html 文件中,我有这样的内容:

我使用其中的文件 projects/storefrontlib/src/cms-components/content/tab-paragraph-container作为实现的参考(例如组件实现)。期望 ng-template (cxOutlet):

之前,我尝试过与 CMSTabParagraphContainer 相同的解决方案。由于某种原因,这在我的项目中不起作用。我介绍了一个自己的组件和一个子组件的映射(AccordionItemComponent),但它不起作用。未显示子组件。

所以我使用了我上面描述的解决方案。使用我的解决方案会显示组件(也是子组件),但我无法在 SmartEdit 中编辑它们。也许它与这个问题有关:https ://github.com/SAP/spartacus/issues/1484 。

出于测试目的,我将带有 CMSParagraphComponent 的“正常”CMSTabParagraphContainer 添加到我在后台的内容槽中。我可以编辑 SmartEdit 中显示的第一个 CMSParagraphComponent。不幸的是,我无法向 CMSTabParagraphContainer 添加新段落。因此,我认为 ng-template (cxOutlet) 解决方案是我的更好的解决方案。

您能否解释一下 TabParagraphContainerComponent 和片段 ng-template (cxOutlet) 的工作原理?另外我认为这应该在 github 问题单(https://github.com/SAP/spartacus/issues/1484)中考虑,以便在 Spartacus(SmartEdit)中更好地支持 CMSTabParagraphContainer(AbstractCMSComponentContainer)。

谢谢你的帮助!

0 投票
0 回答
289 浏览

hybris - 我们如何在 SmartEdit 的子组件中使 OOTB 组件属性可选?

有没有办法让 SmartEdit 的子组件中的 OOTB 组件字段可选?

例如,我通过创建子组件来扩展CMSParagraphComponent ,例如扩展 CMSParagraphComponent 的MyCustomParagraphComponent

OOTB CMSParagraphComponent -> content 属性是强制性的,如其 CMS Structure API 中所定义

requiredComponentTypeAttributePopulator使此属性成为必需的。此外,OOTB SmartEdit 也使用 cmsParagraphComponentValidator 进行后端验证。

现在我想让我的自定义 MyCustomParagraphComponent 的内容属性可选

我尝试使用 required=false 创建新的 populator bean unRequiredComponentTypeAttributePopulator 并将其分配给我的自定义组件的内容属性,但这不起作用

尝试这样的事情......

但这不起作用。看起来 CMS Structure API 仅适用于那些直接分配给该组件而不是父组件的属性。

那么正确的方法是什么?

0 投票
1 回答
362 浏览

hybris - 如何在 Smartedit (SAP Commerce) 中的单行中添加多个组件

我们的页面通常由 3 个内容槽(页眉、内容、页脚)组成。我们还使用了很多自定义组件。这些在 WCMS 中运行良好。随着升级到 Smartedit,它们仍然可以工作,但在 smartedit 中,编辑容器不会覆盖内容元素,因为这些自定义组件具有灵活的宽度(因此多个组件可以在 1 行中)。

Smartedit 在自定义组件周围包裹了一个 div,这些组件会打乱那些编辑叠加层。有什么方法可以使 smartedit 包装器的大小与其组件相同?

或者有没有更好的方法在 smartedit 中的单行中包含多个组件?

0 投票
1 回答
299 浏览

hybris - 我可以在本地环境的 smartedit 预览模式下看到斯巴达克斯店面吗?

我用 CX 2005 & spartacus 构建了一个本地开发环境,用于学习目的。

斯巴达克斯店面就像一个魅力。网址是 http://localhost:4200

但我在本地 smartedit 的预览模式下看不到 spartacus 店面。(网址为 https://localhost:9002/smartedit。Smartdit > Spartacus Electronics Site > Online > Home)

所以我意识到 iframe src 中 spartacus 店面的 url 是以 https 而不是 http 开头的。

  1. 我可以将此 iframe src 更改为 http 还是可以将我的 spartacus 服务器启动为 https 而不是 http?

我参考了使用 Angular CLI 在本地通过 https 服务并使用 https 启动了 spartacus 店面,但仍然无法通过 smartedit 看到 spartacus 店面。

  1. 或者我们不需要在 smartedit 中看到 spartacus storefont?

提前致谢。

0 投票
1 回答
674 浏览

hybris - 我spartacus的smartedit状态正常吗?

我可以在本地环境的 smartedit 预览模式下看到斯巴达克斯店面吗?是我之前关于 smartedit(CX 2005.0) 和斯巴达克斯的问题。

感谢@geffchang,我终于可以在 smartedit 中看到 spartacus 店面了。

但是当我在 smartedit 中选择任何页面时,这些错误消息如下所示。

SmartEdit 无法加载页面。该页面与 SmartEdit 不兼容或与它的连接已丢失。通过进入预览模式等待页面加载或禁用编辑。

在我等待片刻没有采取任何行动后,我可以看到如下额外的错误消息。

不存在组合类型

所以我点击了第一条错误消息中的预览链接,然后浏览器进入预览模式。

我将鼠标移到左上角的“I 图标”,我可以看到如下警告消息。

您无法更改模式。该页面与 SmartEdit 不兼容或与它的连接已丢失。刷新页面或转到另一个页面。

smartedit的这个状态可以吗?有没有额外的设置?(请原谅我这个问题可能不是斯巴达克斯的一部分,而是 CX。对不起)

我编辑这个问题。

我刚刚将个性化配置添加到 app.module.ts 然后 smartedit 的所有错误消息都消失了。

此外,我以前只能看到预览,现在我可以看到基本编辑、高级编辑、个性化。

smartedit 是否需要一些时间来准备工作?

在此处输入图像描述

0 投票
0 回答
44 浏览

hybris - 如何在 smartedit 中保留用户会话?

我正在尝试在 smartedit 中下订单,因为我想在订单确认页面中编辑某些内容。编辑成功,但编辑后再次加载登录页面。如何使编辑窗口仅停留在订单确认页面上。我们正在使用斯巴达克斯店面。