手動アクションの使用
ライフレイ 7.4 U60+/GA60+
オブジェクトアクションにスタンドアローントリガーを使用すると、アクションは自動ではなく手動になります。 これらのメソッドを使用してこれらのアクションをトリガーします。
この例では、通知を送信するためのスタンドアロンアクションを作成します。

詳細については、 オブジェクトアクションの定義 を参照してください。
オブジェクトエントリUIを介してアクションをトリガーする
有効なスタンドアロンアクションは、オブジェクトエントリーのアクションメニューに表示されます。 UIでこれらのアクションをトリガーするには、
-
オブジェクト定義のアプリケーションページに移動します。
-
目的のエントリの アクション ボタン (
) をクリックし、スタンドアロン アクションを選択します。この例では、アクションは[Send Reminder]です。

APIによるアクションのトリガー
Liferayは公開されたオブジェクト定義に対してREST APIを自動生成します。 これらには、有効なスタンドアロンアクションのAPIが含まれています。
これらのAPIを表示するには、
-
Lifera のAPIエクスプローラーを
[server]:[port]/o/apiで開きます(例:localhost:8080/o/api)。 -
RESTアプリケーションをクリックし、目的のオブジェクト定義を選択します。 カスタムオブジェクトは、
c/[pluralobjectlabel]の命名パターンを使用します(例:c/tickets)。
各スタンドアロンアクションに対して、Liferayは2つのPUT APIを生成します。1つはエントリーのIDを使用し、もう1つはエントリーの外部参照コード(ERC)を使用します。

いずれかのAPIを呼び出すと、指定されたエントリーのアクションがトリガーされます。

ページ経由でアクションをトリガーする
スタンドアロンアクションをページ上のボタンにマップできます(コンテンツページ または 表示ページテンプレート)。
Liferay のすぐに使用できるボタンフラグメントがユースケースを満たさない場合は、属性 data-lfr-editable-id="action" および data-lfr-editable-type="action" を HTML タグに追加して、アクションをカスタムボタンにマッピングできます。 フラグメントに属性を追加する方法の詳細については、 フラグメント固有のタグと属性のリファレンスを参照してください。
アクション対応のカスタム ボタンの例を次に示します。
<button class="btn btn-${configuration.buttonSize} btn-${configuration.buttonType}"
data-lfr-editable-id="action" data-lfr-editable-type="action">
Go Somewhere
</button>
コンテンツページ内のオブジェクトアクションへのボタンのマッピング
-
レイアウトに ボタン フラグメントを追加します。 コンテンツ ページの編集方法については、「 コンテンツ ページへの要素の追加 」を参照してください。
-
ボタンを1回クリックします。 ボタンオプションで、タイプとして アクション を選択します。 これで、ボタンにアクションをマッピングできます。
-
ボタンをもう一度クリックします。 右側にアクション メニューが開きます。
-
マッピングタブで、 アイテム フィールド、またはフィールドの横にある アイテムの選択 アイコン (
) をクリックします。 -
上部のリストからオブジェクトを選択します。
使用可能なオブジェクト エントリが下部に表示されます。
-
特定のオブジェクト エントリを選択します。

-
ボタンラベルにマッピングする フィールド を選択します。
-
[アクション] タブで、特定のオブジェクト エントリを選択します。
-
アクションを選択します。
-
必要に応じて、成功とエラーのインタラクションを設定します。 詳細については、 成功とエラーの相互作用の管理 を参照してください。
アクションにマップされたコンポーネントを含むコレクション表示フラグメントまたはフォームフラグメントを使用できます。 詳細については、 コレクションの表示 および フォームフラグメントを使用したフォームの作成 を参照してください。
ボタンをクリックすると、選択したアクションが実行されるようになりました。
表示ページテンプレートのオブジェクトアクションへのボタンのマッピング
-
表示ページ テンプレートを作成し 、コンテンツ タイプとしてオブジェクトを選択します。
これにより、ボタンまたはアクションをマッピングするときに、オブジェクトがデフォルトのソースになります。

-
レイアウトに ボタン フラグメントを追加します。
-
ボタンを1回クリックします。 ボタンオプションで、タイプとして アクション を選択します。
この構成により、ボタンにアクションをマッピングできます。
-
ボタンをもう一度クリックします。
右側にアクション メニューが開きます。 マッピングおよびアクション タブでは、オブジェクトはすでにデフォルトのソースとして設定されています。
注特定のコンテンツを選択する必要がある場合は、 ソース フィールドをクリックし、 特定のコンテンツを選択して、特定の アイテムを選択します。
-
ボタンラベルにマッピングする フィールド を選択します。
-
[アクション] タブで、ユーザーがボタンをクリックしたときにトリガーするアクションを選択します。
-
必要に応じて、成功とエラーのインタラクションを設定します。 詳細については、 成功とエラーの相互作用の管理 を参照してください。
ボタンをクリックすると、選択したアクションが実行されるようになりました。
成功とエラーのインタラクションの管理
アクションにマップされたコンポーネントをユーザーがクリックすると、そのアクションが成功または失敗したときに何が起こるかを選択できます。
両方の結果と追加の成功インタラクションには、次の 4 つのオプションがあります。
-
なし: アクションの実行後に何も起こりません。
-
通知を表示: ユーザーに通知します。 カスタムの成功/エラー メッセージを記述し、通知をプレビューし、アクションがトリガーされた後にページをリロードするように構成できます。
-
ページに移動: サイトの成功/エラー ページに移動します。
-
外部 URL に移動: 外部 URL に移動します。
-
エントリ表示ページに移動 (成功インタラクションのみ): アクションが設定された特定のオブジェクト エントリにマップされている場合、このオプションを成功インタラクションとして選択できます。 ユーザーを表示ページ テンプレートにリダイレクトします。

ユーザーがアクションをトリガーすると、選択したオプションが実行されます。
アクションの権限
Liferayは、どのロールがスタンドアロンアクションをトリガーできるかを管理するための権限を自動的に生成します。 各権限は、action.[actionName]の命名パターン(例: action.sendReminder)に従います。 オブジェクト権限の詳細については、 権限フレームワークの統合 を参照してください。
