ページとレンダリングのHTML構造
このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。
SXAは、構造 (HTML) とデザイン (CSS) を分離して、Webサイトのデザインを簡単に変更できるようにします。これを可能にするために、SXAは、すべてのページで同じ、安定した構造化されたHTMLコードを提供します。ユーザーは、基になるコードを変更せずに、さまざまなスタイルを適用できます。
ページHTML
ページHTML
すべてのSXAページは、次のレイアウト構造を使用します。
すべての通常のレンダリングは、次のコンテナに配置できます。
-
ヘッダ
-
コンテンツ
-
フッター
メタレンダリングは、次のコンテナ内のメタパーシャルデザインに配置できます。
-
頭
-
ボディトップ
-
ボディボトム
デザイナーは、ページスプリッターを使用して、ヘッダー、コンテンツ、またはフッター コンテナー内に追加の列または行を生成できます。
スプリッターには2つのタイプがあります。
-
列スプリッター – 行コンテナでラップされた適切なグリッドクラスを持つdivsを生成します。グリッド値は、列の幅を指定します。
-
行スプリッター – 使用可能な親コンテナーの全幅を埋める空のrow divsを生成します。
列と行の両方にクラスを追加できます。また、特定のスプリッターセクションをマークし、他のセクションとは異なるスタイルを設定することもできます。これは、グリッド システムを壊すページ パーツのスタイルを設定する場合に便利です。ただし、グリッドの動作を上書きできるのは、特定の行のみです。
HTMLのレンダリング
HTMLのレンダリング
すべてのSXAレンダリングは、簡単にスタイル設定できるように設計されています。HTMLは非常に標準的であるため、テーマ開発者はCSSとJavaScriptを簡単に適用できます。
次の例では、アコーディオンレンダリングを使用しています。レンダリングのHTML構造は、コンポーネント クラスとコンポーネント名アコーディオンでdivでラップされます。スタイル設定のためにCSSクラスバリアントを追加できます。
スタイル設定にはクラスを使用します。IDは使用しないでください。Div IDはSitecoreで使用され、変更することはできません。
次のプロパティは、レンダリング動作を制御するためにJavaScriptによって使用されます。
-
expandedByDefault –最初のアコーディオンタブが表示されます。
-
expandOnHover – マウスのEnterイベントとMouse LeaveイベントでのCloseのタブを展開します (この場合、canOpenMultipleプロパティは使用されません)。
-
canOpenMultiple – 複数のタブを同時に開きます (canToggleプロパティは常にアクティブで、無効にすることはできません)。
-
速度 と イージング – どこでも使用して、移行方法と時間を定義できます。
すべてのSXAレンダリングには、同じラッピング構造が含まれています。
内部のコードはレンダリングごとに異なります。多くの場合、Sitecoreで使用される特定のレンダリングを説明する一意のIDを持つ追加のラッピングdivがあります。CSS/JSスクリプトでは、これらのIDを使用しないでください。
内部レンダリング構造は、ダッシュで区切られたクラス規則を持つクリーンなマークアップを使用します。ただし、フォームなどの一部の要素では、追加のSitecoreモジュール (マーケター向けのWebフォームなど) が使用され、外観が異なるHTMLが生成されます (キャメルケースのクラス名や、場合によってはテーブルなど)。このHTMLは変更できません。
すべてのHTMLレンダリングはプラットフォームの一部であり、HTMLが レンダリング バリアントによって形成される場合を除き、1つのプロジェクトまたはサイトに対して変更することはできません。
JavaScriptについて
JavaScriptについて
複雑なレンダリングには、独自のJavaScriptがあります。これらのスクリプトは、JavaScriptフレームワークのメイン テーマ フォルダーにあります。このフレームワークには、レンダリングを登録するためのregisterやinitなどのパブリック メソッドと、Cookieなどの追加のヘルパーが用意されています。
JavaScriptで使用されるすべてのバックエンド プロパティは、レンダリング ラッピングdiv内のdata-properties属性に配置されます。これらはJSON形式でエンコードされます。
以下は、JavaScriptフレームワークのクリップされたバージョンです。
CSSの
CSSの
1つのクラスを置き換えて、レンダリング動作を変更できます (たとえば、標準ナビゲーションからモバイル ナビゲーションに変更するなど)。また、CSSクラスを追加し、スタイル設定とJavaScript機能を追加することで、独自のレンダリングバリアントを作成することもできます。命名規則に従う必要があります。特定のレンダリングのクラスは、常にレンダリングの名前で始まります。新しいクラスの機能を説明する単語を、ダッシュ名の規則を使用して追加します。たとえば、.navigation-mobile、.navigation-main-horizontal、.navigation-sidebarなどです。