パートナ検索フィルタへのカスタム属性の追加
この例では、パートナ・ファインダ・アプリケーションにカスタム・リージョン・フィルタを追加する方法を見てみましょう。 これにより、ユーザーはパートナ検索結果をリージョン別にフィルタできます。
VBCSで、次のステップを実行します:
-
「Webアプリケーション」>「partnerfinder」>「フロー」>「パートナ検索」にナビゲートします。
-
「変数およびタイプ」アイコン(x)>「変数」タブ >「集計」をクリックします。
-
デフォルト値リージョンで、次のコードを使用してカスタム・リージョン・フィールドを集計に追加します:
"Region": { "ignore": true, "terms": { "attribute": "Region_c", "minBucketCount": 1, "maxNumberOfBuckets": 4, "other": false, "missing": false, "localize": true } },
-
「Webアプリケーション」>「パートナ・ファインダ」>「フロー」>「パートナ・ファインダ検索」にナビゲートします。
-
「変数およびタイプ」アイコン(x) >「変数」タブ > additionalCriteriaをクリックします。
-
デフォルト値リージョンで、次のコードを使用してカスタム属性をadditionalCriteriaに追加します:
"ElasticCustAggregation": { "attribute": "Region_c", "op": "$in", "values": [] },
-
カスタム・フィールド名Regionを文字列リポジトリに追加して、アプリケーション内で参照できるようにします。
-
「Webアプリケーション」>「partnerfinder」>「フロー」>「パートナ・ファインダ」>「パートナ・ファインダ検索」>「デザイナ」にナビゲートし、「コード」ボタンをクリックします。
-
次のコードを使用して、パートナ・ファインダ検索HTMLページにカスタム属性を追加します:
<oj-bind-if test="[[ $variables.buckets.Region && $variables.buckets.Region.length>0 ]]"> <div> <oj-label id="odps-pf-search-filter-region-Label" class="odps-pf-search-results-filter-label"><oj-bind-text value="[[ $application.translations.app.searchresults_filter_region ]]"></oj-bind-text></oj-label> <oj-checkboxset id="odps-pf-search-filter-region-checkbox" labelled-by="odps-pf-search-filter-region-Label" class="odps-pf-search-results-filter-checkbox" value="{{ $variables.additionalCriteria.Region.values }}"> <oj-bind-for-each data="[[ $page.variables.buckets.Region ]]"> <template> <oj-option value="[[$current.data.key]]"> <oj-bind-text value="[[ $current.data.localizedKey + ' (' + $current.data.count + ')' ]]"></oj-bind-text> </oj-option> </template> </oj-bind-for-each> </oj-checkboxset> </div> </oj-bind-if>
-
「Webアプリケーション」>「partnerfinder」>「フロー」>「partner-finder」>「partner-finder-search」>「Actions」>「SearchKeywordValueChangedAction」にナビゲートします。
-
ifFilterIsEmptyの条件を次のように更新します:
[[ $page.variables.additionalCriteria.Country.values.length === 0 && $page.variables.additionalCriteria.Tier.values.length === 0 && $page.variables.additionalCriteria.Type.values.length === 0 && $page.variables.additionalCriteria. Region.values.length === 0]]
-
「Webアプリケーション」>「partnerfinder」>「フロー」>「partner-finder」>「partner-finder-search」>「Actions」>「refreshFilters」にナビゲートします。
-
次に示すように、カスタム属性に対するリフレッシュ条件を追加します:
-
次のようにif条件を「Run in Parallel」に追加します:
[[ $page.variables.buckets.Region && $page.variables.buckets.Region.length > 0 ]]
-
コール・コンポーネント・メソッドを追加し、対応するチェック・ボックス・コンポーネント(odps-pf-search-filter-region-checkbox)にリンクします:
-
-
Playアイコンをクリックしてアプリケーションを実行し、変更を確認します。
-
変更を確認します。 これで、パートナ・ファインダ・アプリケーションにカスタム・リージョン・フィルタがあります。