hybris - 用于创建 CMS 页面的 Impex 文件位置?
问题描述
我想在 SAP Hybris 中创建一个新页面。在浏览了一些文章之后,我发现我必须遵循一些步骤,比如编写 impex 命令,创建带有适当标签的 jsp 文件等等,现在我的问题是我应该在哪里编写这些 impex 命令才能使其成功运行?如果我在 HAC(Hybris 管理控制台)上运行这些,它们会成功运行而没有任何错误,但我看不到任何应该创建的结果页面。如果我点击链接;
https://electronics.local:9002/trainingstorefront/electronics/giftPageTemplate
它抛出 404 错误。
我完整的 impex 脚本如下:-
$contentCatalog=electronicsContentCatalog
$contentCatalogName=Electronics Content Catalog
$contentCV=catalogVersion(CatalogVersion.catalog(Catalog.id[default=$contentCatalog]),CatalogVersion.version[default=Online])[default=$contentCatalog:Online]
$productCatalog=electronicsProductCatalog
$productCatalogName=Electronics Product Catalog
$productCV=catalogVersion(catalog(id[default=$productCatalog]),version[default='Online'])[unique=true,default=$productCatalog:Online]
$picture=media(code, $contentCV);
$image=image(code, $contentCV);
$media=media(code, $contentCV);
$page=page(uid, $contentCV);
$contentPage=contentPage(uid, $contentCV);
$product=product(code, $productCV)
$category=category(code, $productCV)
$siteResource=jar:de.hybris.platform.electronicsstore.constants.ElectronicsstoreConstants&/electronicsstore/import/sampledata/contentCatalogs/$contentCatalog
$productResource=jar:de.hybris.platform.electronicsstore.constants.ElectronicsstoreConstants&/electronicsstore/import/sampledata/productCatalogs/$productCatalog
$jarResourceCms=jar:de.hybris.platform.electronicsstore.constants.ElectronicsstoreConstants&/electronicsstore/import/sampledata/cockpits/cmscockpit
INSERT_UPDATE PageTemplate;$contentCV[unique=true];uid[unique=true];name;frontendTemplateName;restrictedPageTypes(code);active[default=true]
;;giftPageTemplate ;Gift Wrapping Template ;layout/giftPageTemplate ;;
INSERT_UPDATE ContentSlotName;name[unique=true];template(uid,$contentCV)[unique=true][default='giftPageTemplate'];validComponentTypes(code)
;HeaderArea;;
;NavBarArea;;
;ASectionArea;;
INSERT_UPDATE ContentSlot;$contentCV[unique=true];uid[unique=true];name;active
;;HeaderAreaSlot;Header Area Content Slot;true
;;NavBarAreaSlot;NavBar Area Content Slot;true
;;ASectionAreaSlot;A Section Area Content Slot;true
INSERT_UPDATE ContentSlotForTemplate;$contentCV[unique=true];uid[unique=true];position[unique=true];pageTemplate(uid,$contentCV)[unique=true][default='giftPageTemplate'];contentSlot(uid,$contentCV)[unique=true];allowOverwrite[default=true]
;;HeaderArea-giftPageTemplate;HeaderArea;;HeaderAreaSlot;true
;;NavBarArea-giftPageTemplate;NavBarArea;;NavBarAreaSlot;true
;;ASectionArea-giftPageTemplate;ASectionArea;;ASectionAreaSlot;true
INSERT_UPDATE ContentPage;$contentCV[unique=true];uid[unique=true];label;title[lang=en];name;masterTemplate(uid, $contentCV);defaultPage[default='true'];approvalStatus(code)[default='approved']
;;giftCustomPage;giftPageTemplate;Gift Wrapping Page;Gift Wrapping custom page;giftPageTemplate;;;
解决方案
如果您使用的是 2005 并且我猜您这样做了,那么您应该注意 DefaultPageController 中的一个错误。它负责渲染每个内容页面。但是,它不再在标准加速器中调度。(遗憾的是,我手头没有准备好相关的票(我正在度假:D。如果您在 answers.sap.com 中搜索“DefaultPageController”,您应该会找到该票。)
将 @RequestMapping("/**) 添加到 DefaultPageController 并查看它是否有效。SAP 也在解决 AspectJ 的问题。不知道它是否已经在 2005.3
推荐阅读
- javascript - Javascript/HTMl 测验 - 我如何添加图像以作为潜在答案
- excel - 如何从 Excel 工作表创建多个单独的电子邮件?
- linux - 无法在 linux vm 上下载 docker
- google-chrome - 在没有开发人员模式和/或在受管设备上安装 Chrome 扩展程序
- javascript - JSON 属性未定义即使包含数据的变量填充了 JSON 对象
- html - CSS 继承或共享属性(CSS 中的类继承)
- javascript - 反应:更改 src Ref 后,音频参考没有改变
- javascript - 将当前日期格式化为 yyyy/mm/dd
- firebase - Flutter Firebase 获取集合数据
- android - 使用 r8 启动时 Xamarin.Android 版本构建崩溃