问题标签 [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.
hybris - SmartEdit:除非刷新页面,否则嵌套 CMS 组件中的更改不会反映
SAP 商务 1811
我创建了一个自定义 CMS 组件,它分配了 CMSlinkComponent 的集合。每当我在嵌套的 CMSLinkComponent 中更改某些内容并单击子编辑器中的保存按钮时,父编辑器的保存按钮不会启用,如果我取消父编辑器,除非我再次刷新页面,否则链接更改不会得到反映。
它是 SmartEdit 中现有的错误吗?或者我错过了什么?
angular - 如何覆盖通过节点模块生成的角度组件
我正在研究 Hybris smartedit,登录页面表单是通过 node_modules 生成的。
在登录页面加载时,我想通过不在 node_modules 中的 smartedit 自定义加载器组件设置用户名和密码。
实现这一目标的正确方法是什么。
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 进行了比较,但没有成功。
你有什么想法吗?
谢谢你的帮助!干杯菲利普
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)。
谢谢你的帮助!
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 仅适用于那些直接分配给该组件而不是父组件的属性。
那么正确的方法是什么?
hybris - 如何在 Smartedit (SAP Commerce) 中的单行中添加多个组件
我们的页面通常由 3 个内容槽(页眉、内容、页脚)组成。我们还使用了很多自定义组件。这些在 WCMS 中运行良好。随着升级到 Smartedit,它们仍然可以工作,但在 smartedit 中,编辑容器不会覆盖内容元素,因为这些自定义组件具有灵活的宽度(因此多个组件可以在 1 行中)。
Smartedit 在自定义组件周围包裹了一个 div,这些组件会打乱那些编辑叠加层。有什么方法可以使 smartedit 包装器的大小与其组件相同?
或者有没有更好的方法在 smartedit 中的单行中包含多个组件?
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 开头的。
- 我可以将此 iframe src 更改为 http 还是可以将我的 spartacus 服务器启动为 https 而不是 http?
我参考了使用 Angular CLI 在本地通过 https 服务并使用 https 启动了 spartacus 店面,但仍然无法通过 smartedit 看到 spartacus 店面。
- 或者我们不需要在 smartedit 中看到 spartacus storefont?
提前致谢。
hybris - 我spartacus的smartedit状态正常吗?
我可以在本地环境的 smartedit 预览模式下看到斯巴达克斯店面吗?是我之前关于 smartedit(CX 2005.0) 和斯巴达克斯的问题。
感谢@geffchang,我终于可以在 smartedit 中看到 spartacus 店面了。
但是当我在 smartedit 中选择任何页面时,这些错误消息如下所示。
SmartEdit 无法加载页面。该页面与 SmartEdit 不兼容或与它的连接已丢失。通过进入预览模式等待页面加载或禁用编辑。
在我等待片刻没有采取任何行动后,我可以看到如下额外的错误消息。
不存在组合类型
所以我点击了第一条错误消息中的预览链接,然后浏览器进入预览模式。
我将鼠标移到左上角的“I 图标”,我可以看到如下警告消息。
您无法更改模式。该页面与 SmartEdit 不兼容或与它的连接已丢失。刷新页面或转到另一个页面。
smartedit的这个状态可以吗?有没有额外的设置?(请原谅我这个问题可能不是斯巴达克斯的一部分,而是 CX。对不起)
我编辑这个问题。
我刚刚将个性化配置添加到 app.module.ts 然后 smartedit 的所有错误消息都消失了。
此外,我以前只能看到预览,现在我可以看到基本编辑、高级编辑、个性化。
smartedit 是否需要一些时间来准备工作?
hybris - 如何在 smartedit 中保留用户会话?
我正在尝试在 smartedit 中下订单,因为我想在订单确认页面中编辑某些内容。编辑成功,但编辑后再次加载登录页面。如何使编辑窗口仅停留在订单确认页面上。我们正在使用斯巴达克斯店面。