2016-11-08 4 views
1

商品がオフラインの場合、ユーザーがカートページでチェックアウトしたときに店頭にエラーメッセージを表示します。Hybris:店頭にエラーメッセージを表示

basket.validation.offlineProduct=Unfortunately <a href="{1}">{0}</a> was removed from your cart as it is offline. You previously had {2} in your cart. 

:私は以下のようにプロパティファイルでこのエラープロパティ「basket.validation.offlineProduct」を追加

GlobalMessages.addMessage(model, GlobalMessages.ERROR_MESSAGES_HOLDER, "basket.validation.offlineProduct", new Object[] { productData.getName(), productUrl, quantity }); 

:私は、コントローラクラスのソースコードを更新し、以下のようにGlobalMessagesにエラーメッセージを追加しましたしかし、エラーメッセージは表示されませんが、カスタムコードのデバッグ時に呼び出され、エラーメッセージコードがモデルに設定されています。

エラーメッセージを表示するために必要なその他の設定は以下のようにJSPファイル内に既に存在している:

<%@ taglib prefix="common" tagdir="/WEB-INF/tags/desktop/common" %> 
<common:globalMessages/> 

私は他のコントローラファイルのソースコードをチェックし、プロセスは同じとエラーメッセージのようだ上の表示なっています他のページ。私はまた、キャッシュを削除し、サーバーを再起動しようとしました。

+0

のように、私は強くプロパティファイル内のテキストのみを使用することをお勧めします、というよりも、GlobalMessages何か他のものを使用してみてください。そこにhtmlを保管しないでください。 –

+0

@Hristo ..私も非HTMLプロパティを使用してみました。それはうまくいかなかった。 –

答えて

1

私があなただった場合、私は次の事をやろうと思います:

1)例えば、パラメータを指定せずにメッセージを表示するようにしてください - "Product was removed from your cart as it is offline"。それが機能している場合、問題は属性にあります。

2)

String error = l10NService.getLocalizedString("basket.validation.offlineProduct",new Object[] { productData.getName(), productUrl, quantity }); 
model.addAttribute("productError", error); 
+0

私は実際にこれらのソリューションをすでに試してみました。しかしそれでも画面にエラーメッセージは表示されません。ただし、デフォルトのハイブリスエラーメッセージが画面に表示されます。両方のソリューションがうまくいくはずだと思いますが、そうではありません。私のコードで何かが間違っているかもしれませんが、私は理解できません。ありがとう! –

+0

私はそれを持っています。まあ、私は、デバッグがモデルに設定されていることを示していると思うが、店頭にHybrisが何か別のメッセージを表示する - あなたのモデルがコントローラと店頭で同じであるかどうかを確認する必要があると思います。 )。 – Johnlang

+0

メッセージが何らかの形で上書きされる – Johnlang

関連する問題