Lightning ページテンプレートコンポーネントのベストプラクティス
Lightning ページテンプレートコンポーネントを作成する場合、次のベストプラクティスと制限に留意してください。
- カスタム背景スタイル設定をテンプレートコンポーネントに追加しないでください。Salesforce の Lightning Experience ページのテーマに干渉します。
- すべてのコンポーネントのデザインファイルには、サポートされるフォームファクタの情報を含めることを強くお勧めします。そうしないと、コンポーネントが予想通りに動作しない場合があります。
- テンプレートコンポーネントがサポートするフォームファクタは、ページ種別でサポートされているフォームファクタと同じか、またはそのサブセットである必要があります。
- コンポーネントが一度 Lightning ページで使用されると、サポートされるフォームファクタを増やすことはできますが、減らすことはできなくなります。
- スクロール領域をテンプレートコンポーネントに含めると、Lightning アプリケーションビルダーで表示しようとするときに問題が発生する可能性があります。
- カスタムテンプレートは拡張したり、拡張可能にしたりできません。また、他の場所からテンプレートを拡張することも、テンプレートから他の要素を拡張することもできません。
- 実行時ではなく設計時に getter を使用して領域を変数として取得できます。次に、その例を示します。
1<aura:component implements="lightning:appHomeTemplate"> 2 <aura:attribute name="region" type="Aura.Component[]" /> 3 <aura:handler name="init" value="{!this}" action="{!c.init}" /> 4 5 <div> 6 {!v.region} 7 </div> 8 9</aura:component>1{ 2 init : function(component, event, helper) { 3 var region = cmp.get('v.region'); // This will fail at run time. 4 ... 5 } 6} - Lightning ページで使用されておらず、access=global に設定されていない場合、テンプレートから領域を削除できます。領域はいつでも追加できます。
- 領域はコードで複数回使用できますが、実行時に表示される領域のインスタンスは 1 つのみになるようにする必要があります。
- テンプレートコンポーネントには最大 25 個の領域を含めることができます。
- ページテンプレートに含めた領域の順序は、システム管理者が Lightning アプリケーションビルダーのテンプレート切り替えウィザードを使用して領域のコンテンツを移行するときに表示される領域の順序になります。領域の表示ラベルを設定し、領域をテンプレート内で論理的な順序 (上から下、左から右など) で含めることをお勧めします。