AEM 6.1環境で作業しており、特定の属性が設定されていない場合にページがアクティブになるのを停止するアクティベーションプリプロセッサを作成しました。これは素晴らしいことですが、プリプロセッサがReplicationExcdeptionをスローするときに、アクティベーションプロセスによって表示されるエラーメッセージも変更したいと思います。誰も実際にエラーメッセージを表示するコードに私を指摘できますか?AEM - アクティベーションエラーメッセージを調整する方法
1
A
答えて
0
SiteAdmin.Actions.jsのいくつかの機能をオーバーライドしました。 libsフォルダからコピーする/apps/cq/ui/widgets/source/widgets/wcm/SiteAdmin.Actions.js
またはCQ.Ext.override
CQ.wcm.SiteAdmin.scheduleForActivation
とCQ.wcm.SiteAdmin.internalActivatePage
の方法を無効にする必要があります。
は、私たちは、次のコードを使用してそれを行う
CQ.wcm.SiteAdmin.internalActivatePage = function(paths, callback) {
if (callback == undefined) {
// assume scope is admin and reload grid
var admin = this;
callback = function(options, success, response) {
if (success) admin.reloadPages();
else admin.unmask();
};
}
preActionCallback = function(options, success, response) {
if (success) {
var responseObj = CQ.Util.eval(response);
if (responseObj.activation) {
CQ.HTTP.post(
CQ.shared.HTTP.externalize("/bin/replicate.json"),
callback,
{ "_charset_":"utf-8", "path":paths, "cmd":"Activate" }
);
} else {
CQ.wcm.SiteAdmin.preactivateMessage(responseObj);
}
}else{
CQ.Ext.Msg.alert(
CQ.I18n.getMessage("Error"), CQ.I18n.getMessage("Could not activate page."));
}
admin.unmask();
};
CQ.HTTP.get(
"/apps/sling/servlet/content/preActivateValidator.html?path=" + paths,
preActionCallback
);
};
/apps/sling/servlet/content/preActivateValidator.html
は(あなたが他のリンクと拡張子を使用することができます)このパスは、カスタム方法で解析され、カスタムエラーが発生しているメッセージについてのいくつかの情報、とJSONを返しますメッセージCQ.wcm.SiteAdmin.preactivateMessage
:
CQ.wcm.SiteAdmin.preactivateMessage = function(responseObj) {
var message = "";
var incorrectItems = responseObj.incorrectItems;
if (responseObj.countOfIncorrectItems > 1) message = message + "s";
if (responseObj.missingMetadata) {
message = message + "Please, set \"Programming Type\" for next videos:<br/>";
var missingMetadataPaths = responseObj.missingMetadata;
for(var i = 0; i < missingMetadataPaths.length; i++){
message = message + "<a href=\""+missingMetadataPaths[i].path+".html\">"+missingMetadataPaths[i].path+"</a><br/>";
}
message += "<br/>";
}
if(message == ""){
message = "Unknown error.";
}
CQ.Ext.Msg.alert(
CQ.I18n.getMessage("Error"), CQ.I18n.getMessage(message));
}
ですから、あなたの属性を確認し、JSONを生成するコンポーネントやサーブレットを実装することができます。
+0
私はこれを見ています。レスポンスありがとう! – rnolen
関連する問題
- 1. Oracle SQLクエリを調整する方法
- 2. アンドロイドデバイスのマイクを調整する方法
- 3. 重みを調整する方法 - バックプロパゲーション
- 4. ggparisプロットを調整する方法
- 5. Android:カスタムリストビューを調整する方法は?
- 6. iOSのオーディオバランスを調整する方法
- 7. ipadビューポートを調整する方法
- 8. AQGridView:UIGridViewCellマージンを調整する方法
- 9. NLTK文トークナイザを調整する方法
- 10. ウィジェットをコンパクトモードに調整する方法
- 11. Knockout.js - カスタムバインディングを調整する方法
- 12. フローティングエレメントの調整方法は?
- 13. ボタンの調整方法は?
- 14. モーダルハイトの調整方法は?
- 15. フローティング部分を次の整数値に調整する方法
- 16. VB.netでテキストを自動整列して調整する方法
- 17. サブカテゴリの呼び出し方法を調整する方法
- 18. androidの方位センサーを調整する方法
- 19. AEMのダイアログでfieldLabelとtextfieldを1行に整列する方法
- 20. divとリンクの調整方法
- 21. 基本的なMobileSubstrateの調整方法
- 22. Prettyphotoサムネイルの余白 - 調整方法は?
- 23. Rのfuture.global.maxSizeの調整方法?
- 24. SASでのデータステップの調整方法
- 25. ボタンの画像調整方法は?
- 26. ul widthプロパティの調整方法は?
- 27. テーブルTrとTdの調整方法は?
- 28. グリッドビューのスペース調整方法は?
- 29. iCarouselTypeLinearビューのフレームを上に移動する方法を調整する方法
- 30. iOSで戻るボタンのy軸を調整する方法
あなたは何をしたのですか?詳細を追加してください。 –
com.day.cq.replication.Preprocessorインターフェイスを実装するクラスを作成しました。アクティベーションプロセスの一環としてAEMによって呼び出され、特定の属性が見つからない場合はRepositoryExceptionがスローされます。これにより、アクティブ化が停止され、ユーザーにメッセージが表示されますが、表示されているメッセージを変更したいのですが、実際にどこに生成されたのか分かりません。 – rnolen