Error handling Hybris:找不到与当前URL关联的CMSSite

Error handling Hybris:找不到与当前URL关联的CMSSite,error-handling,content-management-system,hybris,Error Handling,Content Management System,Hybris,我使用一个给定的模板创建了一个新的Hybris扩展。 构建成功,我也能够启动服务器 但是,当从HAC打开Web链接时,我收到错误“找不到与当前URL关联的CMSSite” 是否有解决或调查此问题的建议?您需要使用主机文件映射或使用站点ID参数来避免错误 请点击这些链接 (海布里斯6) 如果您具有管理员权限,最好在主机文件中添加以下条目 127.0.0.1 hybris.local[示例] etc主机修改允许加速器从url识别站点(CMSSite)。这使得URL整洁干净 主机文件更改后,您可以

我使用一个给定的模板创建了一个新的Hybris扩展。
构建成功,我也能够启动服务器

但是,当从HAC打开Web链接时,我收到错误“找不到与当前URL关联的CMSSite”


是否有解决或调查此问题的建议?

您需要使用主机文件映射或使用站点ID参数来避免错误

请点击这些链接

(海布里斯6)

如果您具有管理员权限,最好在主机文件中添加以下条目

127.0.0.1 hybris.local
[示例]

etc主机修改允许加速器从url识别站点(CMSSite)。这使得URL整洁干净

主机文件更改后,您可以像这样访问站点

如果不这样做,则需要使用一个额外的请求参数来标识这些站点,如下所示


除了主机条目之外,请确保为您的网站添加适当的正则表达式

CMS站点有一个名为urlPatterns的属性。这是网站CMS过滤器匹配的正则表达式列表,用于确定用户试图访问的店面

最简单的方法是向CMS站点添加另一个正则表达式,如下所示:

(?i)^https?://[^/]*/yacceleratorstorefront((?![\?\&]site=).)*
在运行时,您可以在hybris管理控制台(hMC)中执行此操作。导航到WCMS网站“站点名称属性”选项卡和“编辑URL模式”部分

为了使变更永久化,在初始化的项目数据阶段,将适当的代码添加到CMS站点设置ImpEx脚本中运行,例如电子商店店面

# CMS Site
UPDATE CMSSite;uid[unique=true];urlPatterns;
;electronics;(?i)^https?://[^/]+(/[^?]*)?\?(.*\&)?(site=electronics)(|\&.*)$,(?i)^https?://electronics\.[^/]+(|/.*|\?.*)$,(?i)^https?://api\.hybrisdev\.com(:[\d]+)?/rest.*$,(?i)^https?://[^/]*/yacceleratorstorefront((?![\?\&]site=).)*;
错误“找不到与当前URL关联的CMSSite”

这是因为你没有告诉hybris你想访问哪个网站

有三种方法可以做到这一点

  • 在第一个请求中,只需将siteID作为请求参数(?site=siteID)传递,这有助于Hybris了解您试图访问的站点。假设我正在尝试访问powertools站点,那么URL将是

  • 使用siteID作为DNS名称访问站点。您可以使用
    .local
    创建127.0.0.1主机。假设我想访问一个powertools(它是powertools的CMSSite id),然后在主机文件中添加一个条目,如
    127.0.0.1 powertools.local
    ,然后使用而不是localhost访问您的站点

  • 在CMSSite的urlPatterns中添加您选择的新正则表达式。这样你就可以随心所欲地访问你的网站了。假设我只想使用localhost URL访问站点,而不需要传递?site=powertools。因此,我需要向powertools CMSSite的URL模式添加一个新的正则表达式,如
    (?I)^https?://[^/].$
    。现在我可以使用

  • 您也可以使用Impex来实现这一点

    $siteUid=mysite       
    # CMS Site                                                                                                 
    INSERT_UPDATE CMSSite ; uid[unique=true] ; urlPatterns                                                                                                                  ;      
                          ; $siteUid         ; (?i)^https?://[^/]+(/[^?]*)?\?(.*\&)?(site=$siteUid)(|\&.*)$,(?i)^https?://$siteUid\.[^/]+(|/.*|\?.*)$,(?i)^https?://[^/].*$ ;
    


    查找详细的

    如果服务器启动时具有不满意的Springbean依赖项,则通常会出现此问题。请检查您的服务器启动日志,以确认哪些特定bean未能初始化