2017-03-08 11 views
0

私は、ユーザーがアートワークを検索して独自のポートフォリオを構築できるアプリケーションを用意しています。私は、アルゴリア検索で返された作品の一部がユーザーのポートフォリオに含まれているかどうかを示したいと思いますが、結果がユーザーに表示されるとコールバックを行う方法は見つけられないようです。Algolia Instantsearch - 結果が表示された後にコールバックを追加しますか?

検索結果にコールバックを追加することは可能ですか?

+0

あなたはより多くの詳細を提供する必要がある、あなたはどのようなプラットフォーム上でどのような言語を使用していますか?コードサンプルを表示できますか? – Morgoth

+0

はい、申し訳ありません。最初に投稿しました。長い間読んできました。私は注意を払い、次回はうまくいくでしょう。 – taylor01

答えて

0

結果を表示するのにinstantsearch.js libraryを使用するとします。

次に、あなたが望むものを達成する方法には2つの方法があります。

1)hits widget

transformDataパラメータを使用したパラメータは、コールバックを受け取り、そこに結果を渡します。したがって、結果が表示される前に変更することができます。レコードが強調表示される必要がある場合は、新しいパラメータを追加できます。

例:

search.addWidget({ 
    render: function(data) { 
    console.log(data); 
    } 
}); 

search.addWidget(
    instantsearch.widgets.hits({ 
    container: '#hits-container', 
    templates: { 
     item: itemTemplate 
    }, 
    transformData: { 
     allItems: function (results) { 
     console.log(results); 

     // Modify results 

     return results; 
     } 
    } 
    }) 
); 

2)フックするcustom widgetを使用してレンダリングするコールバック

あなたが唯一のrenderオプションを指定して単純なカスタムウィジェットを書くことができますdataのパラメータには、検索に関するすべての情報が表示されます最後の状態と最新の結果が表示されます。

どちらのあなたは小さなjsFiddleでライブ見ることができますアプローチ:https://jsfiddle.net/JanPetr/g54hzrzp/

+1

これは完璧でした。 transformDataパラメータは、私が探していたものとまったく同じものでした。結果を更新して、ビューで処理できるようにしました。 – taylor01

関連する問題