LoginSignup
3
4

More than 1 year has passed since last update.

【Salesforce】【資格】デベロッパー勉強メモ:ユーザインタフェース

Last updated at Posted at 2021-09-26

デベロッパー試験勉強時にまとめたメモ書きです。内容が間違っていたら優しくご指摘ください。
他投稿はデベロッパー試験に関する記事からどうぞ。

あくまでも個人のメモ書きなので信用しすぎてはいけません。
参考にSalesforce公式ページを載せていますので、最新かつ正しい情報をご確認ください。

Visualforce

・親レコードへのアクセス:標準コントローラと差し込み構文
・子レコードへのアクセス:コントローラ拡張
・Visualforceでできること:PDF表示、ダッシュボード表示
・使用する画像、スタイルシート、JS、ライブラリは静的リソースに入れる
・外部JSファイルの読込タグ<apex:includeScript> または <script>
・IDの取得:ApexPages.currentPage().getParameters().get('Id')
・データ駆動型、ホスト型プラットフォーム、自動的にアップグレード
・Visualforceページの表示をLightning Experienceのようにする: LightningStylesheets 属性

コントローラとコントローラ拡張

標準コントローラ
  標準ページと同じ機能で構成されている
  save、quicksave(リダイレクトなし)、edit、delete、cancel、list(標準リストページのPageReferenceを返す)

<apex:page standardController="MyCustomObject__c">
</apex:page>

 
標準リストコントローラ
  レコードのセットを処理する既存のSalesforceページにはリストページ、関連リスト、および一括アクションページが含まれる
  save、quicksave(リダイレクトなし)、cancel、list(標準リストページのPageReferenceを返す)、
  first、last、next、previous

  <apex:page standardController="Account" recordSetVar="accounts">

 
カスタムコントローラとカスタムリストコントローラ
  Apexで記述されたクラスであり、標準のコントローラーを利用せずに、ページのすべてのロジックを実装する
  新しいナビゲーション要素または動作を定義できるが、標準コントローラーで既に提供されている機能も再実装する必要がある

カスタムコントローラのコンストラクタ

public MyController() {
    account = [SELECT Id, Name, Site FROM Account WHERE Id = :ApexPages.currentPage().getParameters().get('id')];
}

  ★コンストラクタは引数無し!!

  <apex:page controller="myController" tabStyle="Account">

  ※<apex:page> タグで standardController 属性を使用する場合、同時に controller 属性を使用することはできません。

 
コントローラ拡張
  標準またはカスタムコントローラの動作を追加またはオーバーライドする
  標準コントローラの機能を使用するが、編集、参照、または削除などのアクションを上書きする、または新しいアクションを追加するときに使う。
  
  コントローラ拡張のコンストラクタ

public myControllerExtension(ApexPages.StandardController stdController) {
    this.acct = (Account)stdController.getRecord();
}

  ★コンストラクタの引数はコントローラ

  <apex:page standardController="Account" extensions="myControllerExtension">

※カスタムコントローラとコントローラ拡張クラスはデフォルトでシステムモードで実行される。
共有設定を考慮する場合はwith sharing を入れる。

Lightning Web Component

・HTML、JS、メタデータ(CSS)
・コンポーネント定義 イベントは親へ(上へ)、プロパティは子へ(下へ)
・標準コンポーネント
   アコーディオン、ボタン、カード、コンボボックス、データテーブル、ファイルアップロード、
   formatted○○、input〇〇、メニュー、プログレスバー、パンくず、ツリー
・LWCを作成できるのは SalesforceCLIとVSCode!!
・オブジェクトと項目の使用 →JavaScript の import 構文を使用する
 オブジェクトへの参照:import ACCOUNT_OBJECT from '@salesforce/schema/Account';
 項目の参照:import ACCOUNT_NAME_FIELD from '@salesforce/schema/Account.Name';
 項目の参照2:import ACCOUNT_OWNER_NAME_FIELD from '@salesforce/schema/Account.Owner.Name';
 Apexメソッドのインポート →JavaScript のimport 構文を使用する  
     import apexMethodName from '@salesforce/apex/Namespace.Classname.apexMethodReference';

 ※Apexメソッドの公開 →@AuraEnabledを使用する、メソッドはstatic で、かつ global または public のいずれかである必要がある
 ※クライアントにApexメソッドの結果をキャッシュ @AuraEnabled(cacheable=true) ※メソッドはデータの取得のみ、変更不可

・Salesforce データを読み取る → @wire を使用して、Apex メソッドを指定する。
                 プロパティまたは関数を結び付ける (@wire) ことでデータを受信できる
  ★@api:プロパティやメソッドを公開する、変更時に再描画する
  ★@track:プライベートなプロパティを監視する、変更時に再描画する
  ★@wire:プロパティまたは関数をデコレートする

Lightning Web componentのリソース

   静的リソース:@salesforce/resourceUrl から静的リソースをインポートします。静
   コンテンツアセットファイル: @salesforce/contentAssetUrl からコンテンツアセットファイルをインポートします。
   SVG リソース:コンポーネントの HTML テンプレートに直接追加する。またはSVG リソースを静的リソースとしてアップロードしてから、コンポーネントの JavaScript ファイルにインポートする。
   カスタム表示ラベル:@salesforce/label から表示ラベルをインポートします。
   Internationalization プロパティ:@salesforce/i18n から internationalization プロパティをインポートします。世界中のユーザ、言語、通貨、タイムゾーンに適合させることができます。
   現在のユーザ: @salesforce/user を使用します。
   現在のエクスペリエンスビルダーサイト:@salesforce/community から現在のエクスペリエンスビルダーサイトに関する情報をインポートします。
   権限の確認:@salesforce/userPermission および @salesforce/customPermission から Salesforce 権限をインポートします。
   クライアントのフォーム要素:@salesforce/client/formFactor をインポートします。

その他

・Lightning ページの標準コンポーネント
  アコーディオン、活動、Chatter、Analytics ダッシュボード、Next Best Action、強調表示パネルリストビュー、Quip、
  最近使ったデータ、レコードの詳細、関連レコード、レポートグラフ、リッチテキスト、Visualforce ページ
・auraコンポーネントのJavaScriptで定義されているもの  クライアント側のコントローラ、ヘルパー、レンダラ
・SLDS = SalesforceLightning Design System
  CSSを1 行も記述せずに Lightning Experience のデザインを持つアプリケーションを構築できる。CSSフレームワーク

参考

↓Salesforce公式の開発者ガイドやヘルプページなどのリンクになっています
Visualforce
カスタムコントローラとコントローラ拡張
Lightning Web component
SLDS

デベロッパー試験に関する記事

Salesforce 認定 Platform デベロッパー 合格までのあれこれ
デベロッパー勉強メモ:Salesforceの基本
デベロッパー勉強メモ:データモデリング
デベロッパー勉強メモ:プロセスの自動化とロジック①
デベロッパー勉強メモ:プロセスの自動化とロジック②
デベロッパー勉強メモ:ユーザインタフェース ←当記事
デベロッパー勉強メモ:テスト、デバッグ、リリース 

3
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
4