web-dev-qa-db-ja.com

Hybris:現在のURLに関連付けられているCMSSiteが見つかりません

指定されたテンプレートの1つを使用して、新しいHybris拡張機能を作成しました。
ビルドは成功し、サーバーを起動することもできます。

しかし、HACからWebリンクを開くと、エラーが発生します"現在のURLに関連付けられているCMSSiteが見つかりません"

この問題を解決または調査するための提案はありますか?

9
Sujata

500エラーを回避するには、hostsファイルマッピングを使用するか、site-IDパラメーターを使用する必要があります。

enter image description here

これらのリンクをたどってください

https://wiki.hybris.com/display/accdoc/Just+One+Storefront

https://help.hybris.com/6.3.0/hcd/8ae0711f86691014877ae05249b2f5ac.html (Hybris 6)

管理者権限がある場合は、ホストファイルに次のエントリを追加することをお勧めします。

127.0.0.1 hybris.local [例]

Etcホストの変更により、アクセラレータはURLからサイト(CMSSites)を識別できます。これにより、URLがすっきりときれいになります。

ホストファイルの変更後、このようなサイトにアクセスできます

http://hybris.local:9001/yacceleratorstorefront /

これを行わない場合は、次のような追加のリクエストパラメータでサイトを識別する必要があります

http:// localhost:9001/yacceleratorstorefront /?site = hybris&clear = true

16
Free-Minded

エラー「現在のURLに関連付けられているCMSSiteが見つかりません」。

これは、アクセスしたいサイトをハイブリスに伝えていないためです。

それを行うには3つの方法があります

  1. 最初のリクエストでsiteIDをリクエストパラメータ(?site = SiteID)として渡すだけで、Hybrisがアクセスしようとしているサイトを理解するのに役立ちます。 powertoolsサイトにアクセスしようとすると、URLは https:// localhost:9002/yacceleratorstorefront?site = powertools になります。

  2. DNS名としてsiteIDを使用してサイトにアクセスします。 <siteID>.localを使用して127.0.0.1ホストを作成できます。 powertools(powertoolsのCMSSite ID)にアクセスし、ホストファイルに127.0.0.1 powertools.localのようなエントリを追加してから、 http://powertools.local:9001 /)を使用してサイトにアクセスするとします。 localhostの代わりにyacceleratorstorefront /

  3. CMSSiteのurlPatternsに、選択した新しい正規表現を追加します。あなたが望むようにあなたのサイトにアクセスできるように。ローカルホストのURLのみを使用し、?site = powertoolsを渡さずにサイトにアクセスしたいとします。したがって、(?i)^https?://[^/].*$のような新しい正規表現をpowertoolsCMSSiteのurlPatternsに追加する必要があります。これで、 https:// localhost:9002/yacceleratorstorefront / を使用してpowertoolsサイトを直接開くことができます。

Impexを使用してそれを行うこともできます

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

詳細を見つける ここに答える

3
HybrisHelp

ホストエントリに加えて、Webサイトに適切な正規表現を追加してください。

CMSサイトには、urlPatternsという属性があります。これは、ユーザーがアクセスしようとしているストアフロントを判別するためにWebサイトのCMSフィルターが一致する正規表現のリストです。

最も簡単なことは、以下のような正規表現をCMSサイトに追加することです。

(?i)^https?://[^/]*/yacceleratorstorefront((?![\?\&]site=).)*

実行時に、hybris Management Console(hMC)で実行できます。 WCMS Webサイトの[サイト名のプロパティ]タブに移動し、[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=).)*;
2
user1929513

この問題は通常、サーバーが満たされていないSpringBeanの依存関係で起動された場合に発生します。サーバーの起動ログをチェックして、どの特定のBeanが初期化に失敗したかを確認してください。

0
Farrukh Chishti