次の方法で共有


カスタマイズ コードへのカスタム リソースの追加

この記事では、フォント、画像、カスケード スタイル シート (CSS) ファイルなどのカスタム静的リソースをソフトウェア開発キット (SDK) のカスタマイズ コードに追加して、テーマ内からアクセスする方法について説明します。

シナリオによっては、モジュールまたはテーマ内からアクセスできるフォント、画像、CSS ファイルなどのカスタム静的リソースを追加する必要があります。 これらの静的ファイルは、SDK カスタマイズ コード内の/public フォルダーに追加して、CLI yarn msdyn365 pack コマンドで生成されたコンフィギュレーション パッケージに含めることができます。 相対パスを使用してリソースにアクセスできます。

ビルド ステップでは、スタイル サッシー CSS (SCSS) ファイルが CSS ファイルにコンパイルされ、同じ /public フォルダー内に格納されます。これは、/public フォルダー内の他の静的リソースを参照するときに考慮する必要があります。

リソースは、/public ディレクトリ、またはこのディレクトリの下の任意のサブディレクトリに追加できます。 たとえば、"NewIot-Regular" というフォントを追加すると、"NewFont-Regular.eot"、"NewFont-Regular.woff"、"NewFont-Regular.ttv"、および "NewFont-Regular.svg" などの複数のフォント ファイルが /public ディレクトリに追加される場合があります。

ファイルを /public ディレクトリに追加した後、サッシー CSS (SCSS) ファイル内の相対パスを使用してそれらを指すことができます。 次の SCSS の例は、/src/themes/spring フォルダーにあるテーマから取得したものです。 コマンドライン インターフェイス (CLI) コマンド パックを使用すると、SCSS コードは /build/public/static/css/spring ディレクトリに作成された ZIP ファイルにコンパイルされます。 次に、相対パスを使用して /public フォルダー内のフォントにアクセスします。

@import "bootstrap/scss/bootstrap";

@font-face {
    font-family: 'NewRocker-Regular';
    src: url('../../../NewFont-Regular.eot');
    src: url('../../../NewFont-Regular.eot?#iefix') format('embedded-opentype'),
         url('../../../NewFont-Regular.woff') format('woff'),
         url('../../../NewFont-Regular.ttf') format('truetype'),
         url('../../../NewFont-Regular.svg#NewFont-Regular') format('svg');
}

body {
    font-family: 'NewFont-Regular', Fallback, sans-serif;
}

パブリック パスへの動的アクセス

Microsoft Lifecycle Services (LCS) を使用して E コマースのカスタマイズを配置すると、/public ディレクトリに保存されているファイルへの物理的なパスが変更されるため、コード内からこれらのファイルへの静的な物理パスを指定することはできません。 ただし、パスを取得するのに役立つ getAsset というヘルパー API があります。

次のカスタム モジュール .tsx ファイルの例は、getAsset API を使用して /public/webfonts ディレクトリに保存されているフォント ファイルに URL を生成する方法を示しています。

import { getAsset } from '@msdyn365-commerce/core';

const url = `${getAsset('webfonts/fa-solid-900.woff', this.props.context.request)}`;

追加リソース

CLI コマンド リファレンス

テーマの概要

新しいテーマの作成

テーマ設定の構成

テーマ スタイル プリセットの構成

テーマを拡張してモジュール拡張機能を追加する

テーマのモジュール ライブラリ コンポーネントをオーバーライドする

基準テーマからテーマを拡張する