カスタマイズの問題
スターリング Store Engagement (次世代)アプリケーションをカスタマイズする際に問題が発生する可能性があります。
次の表は、一般的なカスタマイズの問題と、それに対応する解決策の一覧です:
| 問題点 | 解決方法 |
|---|---|
| main.js is not loading| スターリング IBM® Store Engagement (次世代) カスタマイズ | 問題の解決方法の詳細については、 テクノートをご覧ください。 |
| エラー|Bootstrapコマンドが見つかりません| IBM Sterling Store Engagement (次世代) カスタマイズ・ローカル・セットアップ | 問題の解決方法の詳細については、 テクノートをご覧ください。 |
エラー:Command failed: sleep 15 - in IBM Sterling Store Engagement (next-generation) customizationsleepis not recognized as an internal or external command |
問題の解決方法の詳細については、 テクノートをご覧ください。 |
| Error Command failed with signal "SIGABRT" | IBM Sterling Store Engagement (次世代) カスタマイズローカルセットアップ | 問題の解決方法の詳細については、 テクノートをご覧ください。 |
| IBM Sterling Store Engagement カスタマイズ ローカル設定エラー | 問題の解決方法の詳細については、 テクノートをご覧ください。 |
| エラー: IBM Sterling Store Engagement (次世代) カスタマイズにおける 404 JSON file not found エラー | 問題の解決方法の詳細については、 テクノートをご覧ください。 |
ローカル開発インスタンスでアプリケーション提供ポートレットをカスタマイズする際に発生する一般的な問題
- 問題点
- アプリケーションが提供するポートレットを拡張する場合、ローカルの開発環境では、カスタマイズしたポートレットで次のような問題に直面する可能性があります。
アプリケーション提供ポートレットの変更で提供されているカスタマイズ手順を部分的または誤って実装した場合、これらの問題が発生します。
- 解決方法
- 拡張ポートレットが空白で表示される問題については、以下の手順を実行してください:
- ポートレットコンポーネントのクラス名が、それぞれのポートレットの component.ts ファイルで更新され、portletname 変数と componentName 変数に渡されているかどうかをチェックします。 詳細については、 「アプリケーション提供ポートレットの変更」 のステップ2を参照してください。次のサンプルコードでは、Pack order ポートレットを拡張する方法を説明します:
export class PackOrderPortletExtnComponent implements OnInit, OnDestroy { public static portletname = 'PackOrderPortletExtnComponent'; public static componentName = 'PackOrderPortletExtnComponent'; } - 更新されたポートレットコンポーネントのクラス名を app.module.ts ファイルにインポートします。 詳細については、 「アプリケーション提供ポートレットの変更」 のステップ3を参照してください。次のサンプルコードでは、更新されたポートレットクラス名をインポートする方法を説明します:
import { PackOrderPortletExtnComponent } from './components/pack-order-portlet/pack-order-portlet.component' export const customComponentDeclarations = [PackOrderPortletExtnComponent]; をisf-persona-config.jsonファイルに追加して、ポートレットに入力します。 そうでない場合、拡張ポートレットは空白で表示されます。 詳細については、 「アプリケーション提供ポートレットの変更」 のステップ4を参照してください。extensionType
:CODE
- ポートレットコンポーネントのクラス名が、それぞれのポートレットの component.ts ファイルで更新され、portletname 変数と componentName 変数に渡されているかどうかをチェックします。 詳細については、 「アプリケーション提供ポートレットの変更」 のステップ2を参照してください。
- 追加したカスタムバンドルラベルが正しく表示されません。
対応するjsonファイルに追加されるラベルバンドルのエントリーを考えてみましょう。 詳細については、 「アプリケーション提供ポートレットの変更」 の 「次に実行する操作」 を参照してください。
/extensions/features/override-component/src/assets/override-component/i18n/en.jsonのサンプル・スニペットは以下の通りです。
対応するエントリがポートレットコンポーネントの HTML に追加されます。 実際のラベルの代わりに、{ "packPortletExtn":{ "LABEL_Select":"Select" } }packPortletExtn.LABEL_Selectがアプリケーションに表示されます。サンプルのコード・スニペットは以下の通り。<span class="mx-2" >packPortletExtn.LABEL_Select</span>この問題を解決するには、図のようにポートレットコンポーネントのHTMLタグにtranslate属性を追加します。<span class="mx-2" translate>packPortletExtn.LABEL_Select</span> - アプリケーションが提供するバンドルラベルと以前に追加されたバンドルラベルが正しく表示されない。app.module.ts の静的変数 bundles に、ホームアプリケーションからロードされるアセットが含まれていることを確認してください。 詳細については、 「アプリケーション提供ポートレットの変更」 の 「次に実行する操作」 を参照してください。 以下のサンプル・エントリーを追加する:
{ prefix: './assets/home/i18n/', suffix: '.json' }
- 拡張ポートレットが空白で表示される問題については、以下の手順を実行してください: