カスタムルールタイプの作成

カスタムルールタイプの作成

ファストトラック記事は、お客様の利便性のために一部機械翻訳されています。また、ドキュメントは頻繁に更新が加えられており、翻訳は未完成の部分が含まれることをご了承ください。最新情報は都度公開されておりますため、必ず英語版をご参照ください。翻訳に問題がある場合は、こちらまでご連絡ください。

まず、モジュールを作成し、必要なコンテンツターゲティングAPIの依存関係があることを確認する必要があります。

  1. ルールをデプロイするためのモジュール プロジェクトを作成します。 Blade CLI content-targeting-rule テンプレートを使用すると、すぐに始めることができます。 これはデフォルトの構成を設定し、定型コードが含まれているため、ファイル作成手順をスキップしてすぐに開始できます。 これを使用するには、次のブレードコマンドを使用します。

    blade create -t content-targeting-rule weather-rule
    
  2. テンプレートが最新リリースと同期しなくなることがあるので、依存関係が最新であることを確認してください。 Gradleベースのルールで表示される依存バージョンは次のとおりです。

    dependencies {
        compileOnly group: "com.liferay.content-targeting", name: "com.liferay.content.targeting.analytics.api", version: "5.0.0"
        compileOnly group: "com.liferay.content-targeting", name: "com.liferay.content.targeting.anonymous.users.api", version: "3.0.0"
        compileOnly group: "com.liferay.content-targeting", name: "com.liferay.content.targeting.api", version: "5.0.0"
        compileOnly group: "com.liferay.portal", name: "com.liferay.portal.kernel", version: "3.6.2"
        compileOnly group: "com.liferay.portal", name: "com.liferay.util.taglib", version: "2.0.0"
        compileOnly group: "javax.portlet", name: "portlet-api", version: "3.0.0"
        compileOnly group: "javax.servlet", name: "javax.servlet-api", version: "3.0.1"
        compileOnly group: "org.osgi", name: "org.osgi.service.component.annotations", version: "1.3.0"
    }
    

    コンテンツターゲットAPIの公開の詳細については、 コンテンツターゲットAPIへのアクセス チュートリアルをご覧ください。 モジュールを作成し、その依存関係を指定したら、ルールの動作を定義する必要があります。 ルールの動作は、作成したJavaクラスファイルによって制御されます。

  3. モジュールの src ディレクトリに、生成されたクラスが表示されます。 命名規則に従うには、クラス名は作成するルール名で始まり、 ルール 終わる必要があります(例: WeatherRule.java)。 Javaクラスは com.liferay.content.targeting.api.model.Rule インターフェースを実装する必要があります。

    Rule インターフェースを実装する必要がありますが、拡張可能な便利なユーティリティを提供する Rule 拡張クラスがあります。 たとえば、ルールは com.liferay.content.targeting.api.model.BaseJSPRule クラスを拡張して、JSPを使用したルールのUIの生成をサポートできます。 このチュートリアルでは、JSPを使用してUIを実装する方法を示し、 BaseJSPRule クラスを拡張して Rule インターフェースを実装することを想定しています。 ルールのUIの選択の詳細については、 UIテクノロジーの選択参照してください。

  4. クラスの宣言の真上には、次の注釈があります。

    @Component(immediate = true, service = Rule.class)
    

    このアノテーションは、コンポーネントの実装クラスを宣言し、Liferay DXPにデプロイされたらすぐにモジュールを開始することを指定します。

Javaクラスが設定されたので、 Rule インターフェースのメソッドを実装して、ルールの動作を定義する必要があります。 次に、これらのメソッドの実装を開始します。

次に、気象ルールのビュー/保存ライフサイクルを定義します。

« 新しいオーディエンスターゲティングルールタイプの作成ルールの表示/保存ライフサイクルの定義 »
この記事は役に立ちましたか?
0人中0人がこの記事が役に立ったと言っています