如何将 localhost 引导到 hybris 中的 mystorefront?

Posted

技术标签:

【中文标题】如何将 localhost 引导到 hybris 中的 mystorefront?【英文标题】:How to direct localhost to mystorefront in hybris? 【发布时间】:2018-10-24 05:52:42 【问题描述】:

现在当我转到https://localhost:9002/ 时,它会打开hac (hybris admin console).

当我转到https://powertools.local:9002/nystorefront/powertools/en/USD/cart 时,我可以到达我的店面

当我转到localhost:9002 时,我想联系mystore

我该怎么办?

【问题讨论】:

【参考方案1】:

我假设您的网络扩展名是 mystorefront

将这些添加到您的 config/local.properties

# This way hac extension will be available on https://localhost:9002/hac instead of https://localhost:9002/
hac.webroot=/hac  


# If you want to remap the context path to the root site on the web container
# then you must set these values to be blank, do not set them to be '/'
mystorefront.webroot=
storefrontContextRoot=

还要确保与您的 CMSSite 关联的 urlPatterns 允许您通过以下方式访问您的店面:https://localhost:9002/

您还可以在 mystorefront/project.properties 中找到此属性和其他信息。 正如已经提到的那样,“如果您想更改这些值,那么建议您同时覆盖 它们在您的 config/local.properties 文件中,而不是在此处更改值”。

【讨论】:

您是否也添加了“hac.webroot=/hac”? 是的,现在它说 `WARN [hybrisHTTP7] [ContextInformationLoader] 找不到与当前 URL (localhost:9002) 关联的 CMSSite!` 这是因为 CMSSite 的 urlPatterns 很可能包含 mystorefront 搜索您的 CMSSite 实例并更新它的 urlPatterns 属性,以便您的扩展可以通过localhost:9002访问 @user9708984 找到我的答案来解决您的错误(找不到关联的 CMSSite ..)【参考方案2】:

您必须在 local.properties 文件中配置 webroot 和 storefrontContextRoot。

1) 将属性添加到您的 config/local.properties,将 mystorefront (mystorefront.webroot) 更改为您的店面名称。另外,需要将 hac webroot 更改为/hac

hac.webroot=/hac  

mystorefront.webroot=
storefrontContextRoot=

2) 要在不传递查询参数 (?site=mysite) 的情况下打开您的站点,请运行以下 Impex。将 mysite 更改为您的 CMSSite 名称。这也将解决您的错误(找不到与当前 URL 关联的 CMSSite)。

$siteUid=mysite       

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

【讨论】:

我去了 localhost:9002/hac/console/impex/import 并导入了该脚本。使用 mystorefront 而不是 mysite。我试图在 ant clean all 之后转到 localhost:9002 但控制台现在没有显示错误,只有 web 显示服务器错误。无法连接。然后使用 my 而不是 mysite 。它说WARN [hybrisHTTP7] [DefaultCMSSiteService] More than one site associated with URL [https://localhost:9002]. Returning first.,因为它是电动工具,我还应该包括powertools 转到 HMC/后台 > cmssite > 删除站点“mystorefront” 在那里您会找到另一个 OOTB 站点,在 impex 中使用该名称。您不必重建服务器。 我去了 hcms- 网站mysite true [] powertools Powertools Site false (i made this false) Powertools Content Catalog electronics Electronics Site true Electronics Content Catalog apparel-de Apparel Site DE true Apparel DE Content Catalog apparel-uk Apparel Site UK true Apparel UK Content Catalog@HybrisFreelance 现在无法打开本地主机。并且没有登录控制台。 给我发邮件到contact@helphybris.com

以上是关于如何将 localhost 引导到 hybris 中的 mystorefront?的主要内容,如果未能解决你的问题,请参考以下文章

hybris学习遇到的问题

如何在 SAP Hybris WCMS cockpit 里创建新的 website

如何限制Hybris中的插入?

如何从 Hybris 店面的购物车生成多个订单?

如何在 hybris 中集成支付网关

解释如何在 Hybris 中创建 Cron Job