コンテンツにスキップ

並び順変更コンポーネント

前提

ポップファインド設定タグ・タグマネージャーが既に導入されていること。

機能説明

並び順を変更するリンクを表示します。
識別子により表示バリエーションを選択し、見た目を変更することができます。
存在しないバリエーションやバリエーションが未指定の場合はtype1となります。

表示バリエーション
type1: プルダウン型
type2: リンクテキスト型
type3: ラジオボタン型

See the Pen this by BST developer (@bsearchtech)on CodePen.

設定方法

必須設定

Htmlの修正
<div data-[モード]="sortselector-type1"></div>
リソースファイルの作成

並び順リソースファイル

並び順リソースファイルは、並び順とその名称を定義するファイルです。

このリソースファイルは、デフォルトの並び順を決定したり、並び順コンポーネントで表示する並び順を決定する為に使用されます。

注意

並び順リソースファイルは、並び順変更コンポーネントでの表示以外にも、
デフォルトの並び順の決定の為に必要です。
必ず1つ以上の並び順を定義した並び順リソースファイルを読み込んでください。
並び順が未定義の場合、ポップファインドの並び順は「不定」となります。

内容は、sitesearchSortOrder という変数に、各値がハッシュになる配列を代入しているファイルになります。

コンポーネントや URL パラメータでソート順を指定しない場合、ハッシュの先頭のエントリで並び替えをします。

記述例

var sitesearchSortOrder =  [
  {"label":"一致順", "order":"wordweight:desc"},
  {"label":"タイトル順", "order":"title:asc"}
];

ハッシュは次のエントリを含みます。

  • label: sortOrderSelectorコンポーネントで表示される表示用文字列
  • order: 実際に適用される並び順
    • 並び順のキーと asc (昇順) / desc (降順) をコロン (:) で連結した文字列
    • 並び順のキーは文字列として比較されるものと、数値として比較されるものがあります。
// 並び順 (昇順)
[キー]:asc

もしくは

// 並び順 (降順)
[キー]:desc

また、複数キーによる並び順を定義する場合、カンマ (,) で連結して記述します。最大 10 個まで可能です。

[キー]:asc,[キー]:desc

指定可能な並び順のキー

指定可能な並び順のキーを以下に示します。
並び順のキーには大きく分けて、商品データに含まれた値と、商品データには含まれず、ポップファインドサービスが自動的に生成する値の 2 種類があります。
自動的に生成するものに関しては、データ作成者やサイト管理者による制御はできかねます。
また、有償オプションのご契約が必要となるキーもあります。

クロールされたデータに含まれるもの

キー名 比較 備考
id 文字列 コンテンツID。通常URLと同一
title 文字列 コンテンツのタイトル
summary 文字列 コンテンツの概要
link 文字列 コンテンツURL
thumbnail 文字列 コンテンツの画像
filetype 文字列 取得したコンテンツの種別
filesize 数値 取得したコンテンツのサイズ
domain 文字列 取得したコンテンツのドメイン
path 文字列 取得したコンテンツのパス
last_modified 数値 取得したコンテンツの最終更新日
text 文字列 表示用文字列
sort 数値 ソート専用フィールド
additional_textN 文字列 汎用文字列N(Nは1から10)
additional_linkN 文字列 汎用リンクN(Nは1から3)
additional_sortN 数値 汎用ソートキーN(Nは1から10)

クロールされたデータに含まれないもの (自動生成されるもの)

キー 比較 備考
wordweight 数値 検索されたキーワードとの適合度
clickweight 数値 検索結果のクリック数
item_scoreN 数値 外部サービスと連携することで得られる各商品の値(1 から N まで)
オプションご契約時のみ有効
wordscore1 数値 管理画面で「表示順位制御」機能を使用した際に発動する並び順
降順指定のみ有効
wordscore9 数値 検索されたキーワードと単語の完全一致により算出される並び順
降順指定のみ有効
score 数値 当社独自アルゴリズムで計算される並び順
降順指定のみ有効
mode が ec あるいは cp では使用できない

情報

item_scoreN の実際に指定するキーは、オプションご契約後にご連絡いたします。

標準的な並び順

標準的な並び順としたい場合、以下の値を設定してください。

wordscore1:desc,wordweight:desc,clickweight:desc,wordscore9:desc

任意設定

表示用メッセージの変更

sitesearchMessage という変数に次のような指定を行うことで、表示文字列を変更することができます。

var sitesearchMessage = {
    sortOrderSelector: {
        label: '並び順',
    },    
};

キー名 デフォルト値 説明
label 並び順: 並び順変更コンポーネントのラベル
関連する設定パラメータの追加
var popfindConf = popfindConf || {};
popfindConf["data-[モード]"] = {
    uid: "[UID]",
    mode: "[モード]",
    inputId: "q",

    defaultOrder: '',
};
パラメータ名 データ型 デフォルト値 説明
defaultOrder 文字列 '' url, sitesearchSortOrderに指定されなかった場合、この値が適用されます。
リソースファイルのorderで指定可能な値が設定できます。

dom構造

Dom

並び順変更コンポーネント

並び順変更コンポーネントは表示バリエーション毎に DOM 構造が異なります。
各バリエーションの指定方法について詳しくは「コンポーネントリファレンス」をご参照ください。

type1

<div data-[モード]="sortselector" class="_[モード]_component">
  <div class="_sortorderselector _sortorderselector_type1">
    <div class="_label">並び順:</div>
    <select name="o">
      <!-- ここから繰り返し -->

      <option value="並び順リソースの値" selected="selected">
        並び順リソースの名前
      </option>
      <!-- 以下、並び順リソースファイルの内容に応じて並び順が表示される -->
      ...

      <!-- ここまで繰り返し -->
    </select>
  </div>
</div>

type2

<div data-[モード]="sortselector-type2" class="_[モード]_component">
  <div class="_sortorderselector _sortorderselector_type2">
    <div class="_label">並び順:</div>

    <!-- ここから繰り返し -->

    <div class="_sort _current">並び順リソースの名前</div>
    <!-- 以下、並び順リソースファイルの内容に応じて並び順が表示される -->
    <div class="_sort">
      <a href="..." onclick="...">並び順リソースの名前</a>
    </div>
    ...
    <!-- ここまで繰り返し -->
  </div>
</div>

type3

<div data-[モード]="sortselector-type3" class="_[モード]_component">
  <!-- ここから繰り返し -->

  <div class="_sortorderselector _sortorderselector_type3">
    <div class="_label">並び順:</div>
    <div class="_sort _current">
      <input
        type="radio"
        name="o"
        value="並び順リソースの値"
        onchange="..."
        checked="checked"
      />
      <label for="...">並び順リソースの名前</label>
    </div>
    <!-- 以下、並び順リソースファイルの内容に応じて並び順が表示される -->
    <div class="_sort">
      <input
        type="radio"
        id="..."
        name="o"
        value="並び順リソースの値"
        onchange="..."
      />
      <label for="...">並び順リソースの名前</label>
    </div>
    ...
    <!-- ここまで繰り返し -->
  </div>
</div>

サンプル

type1(省略時)

プルダウン型

See the Pen this by BST developer (@bsearchtech)on CodePen.

type2

リンクテキスト型

See the Pen this by BST developer (@bsearchtech)on CodePen.

type3

ラジオボタン型

See the Pen this by BST developer (@bsearchtech)on CodePen.