この文章は Salesforce 機械翻訳システムを使用して翻訳されました。詳細はこちらをご参照ください。
英語に切り替える

メッセージチャネルでの公開

Visualforce ページからメッセージチャネルで公開するには、ページの JavaScript コードに $MessageChannel グローバル変数を含め、sforce.one.publish() をコールするメソッドを記述します。

github.com/trailheadapps/lwc-recipes リポジトリの lmsPublisherVisualforce ページでは、連絡先が選択されたときに、Lightning ページで登録者に通知するメッセージの登録方法が示されます。

次の例では、Visualforce ページのマークアップを説明し、ボタンがクリックされたときにメッセージチャネルに公開する方法を示します。

このページの JavaScript では、最初にカスタム Lightning メッセージチャネルへの参照を取得するために、数式 {!$MessageChannel.SampleMessageChannel__c} を使用しています。この式により、自分のメッセージチャネルに固有のトークンが作成されます。次に、このトークンを変数 SAMPLEMC に文字列として割り当てます。

関数 handleClick() には、公開するメ���セージコンテンツが含まれます。ここで、メッセージは、値が "some string" の recordId、および値が value: "some value" というキー - 値ペアの recordData です。次に、sforce.one オブジェクトに対して Lightning Message Service API の publish() メソッドをコールします。publish() 関数には、メッセージチャネルトークンを含む文字列とメッセージペイロードの 2 つのパラメーターがあります。

このページのマークアップでは、ボタンを作成して、その onclick() メソッドの handleClick() をコールします。

1<apex:page >
2    <script>
3    // Load the MessageChannel token in a variable
4    var SAMPLEMC = "{!$MessageChannel.SampleMessageChannel__c}";
5    function handleClick() {
6        const payload = {
7            recordId: "some string",
8            recordData: {value: "some value"}
9        }
10        sforce.one.publish(SAMPLEMC, payload);
11      }
12    </script>
13    <div>
14    <p>Publish SampleMessageChannel</p>
15    <button onclick="handleClick()">Publish</button>
16    </div>
17</apex:page>