WebHU - Programozási kérdések és válaszok

Algolia dinamikus aspektusai

a probléma a következő. Algolia instantsearch-et használunk. Minden terméknek van eladója. A jelenlegi felhasználó előfizetett néhány eladóra. A felhasználónak lehetőséget kell biztosítani arra, hogy szűrje a termékeket a feliratkozott eladók és azok szerint, akik nem. Ehhez megpróbáltam a widget kapcsolót használni. ahol be- és kikapcsolási lehetőségként beállítom a feliratkozott eladók listáját az aktuális felhasználóhoz vesszővel elválasztva

values: {
  on: '37,41,67',
  off: '45,56',
},

De ez csak akkor működik, ha csak egy eladót adok meg. És teljesíti az alapértelmezett beállítás ki van kapcsolva. Megpróbáltam a numericRefinementList widgetet használni

options: [
  { label: 'On', value: '37,41,67' },
  { label: 'Off', value: '45,56' },
],

De ez sem működik Tud valaki megoldást ajánlani?


Válaszok:


1

Ezt a viselkedést nem fedik le az alapértelmezett widgetek. Azonban létrehozhat egyéni widgetet, amely bekapcsolja a szűrők listáját. Hadd mondjak egy példát:

const sellerList = [];
// this uses jQuery
const toggleButton = $('div.toggleSellers');
const search = instantsearch(/* parameters and credentials */);
search.addWidget({
  getConfiguration: function() {
    return {disjunctiveFacets: ['seller']};
  },
  init: function(options) {
    const helper = options.helper;  
    // Here you have to bind the event that will toggle seller
    // For example using the `toggleButton` and a click event
    toggleButton.on('click', function() {
      sellerList.forEach(function(seller) {
        helper.toggleRefinement('seller', seller);
      });
    });
  },
});

A "seller" az eladót tartalmazó rekordokban lévő attribútum neve. Ezt az Algolia irányítópultján egy aspektusként kell konfigurálni.

A sellerList az index "seller" attribútumában használt eladóazonosítók listája.

Ez az egyéni widget a jsHelper alkalmazást használja, amely lehetővé teszi a keresés. A dokumentumban további információkat is talál az egyéni modulokról.

16.05.2017
Új anyagok

A rádiógomb ellenőrzött eseményének használata a jQueryben
Ebben a cikkben látni fogjuk, hogyan kell dolgozni a jquery választógombbal ellenőrzött eseményeivel. A választógombok HTML gombok, amelyek segítenek kiválasztani egyetlen értéket egy csoportból...

Körkörös függőségek megoldása terraformban adatforrásokkal – lépésről lépésre
Mi az a körkörös függőségek Dolgozzunk egy egyszerű eseten, amikor az SQS-sor és az S3-vödör közötti körkörös függőség problémája van egy egymástól függő címkeérték miatt. provider..

Miért érdemes elkezdeni a kódolást 2023-ban?
01100011 01101111 01100100 01100101 — beep boop beep boop Világunk folyamatosan fejlődik a technológia körül, és naponta fejlesztenek új technológiákat a valós problémák megoldására. Amint..

🎙 Random Noise #2  – Örökbefogadás és hit
az analitika íratlan világának gondozása Szeretné, hogy ezek a frissítések a postaládájába kerüljenek? Iratkozzon fel itt . "Ha önvezető autókat gyártanak, akkor mi miért ne..

A legrosszabb politika és prediktív modellek májátültetésre jelöltek számára az Egyesült Államokban
A máj (vagy óangolul lifer) az emberi test legnehezebb belső szervére utal, amely csendesen működik a nap 24 órájában. Mit csinál a máj? 500 feladatot hajt végre a szervezet egészségének..

5 webhely, amely 2022-ben fejleszti front-end fejlesztői készségeit
Frontendmentor.io A tényleges projektek létrehozásával a Frontendmentor.io segítséget nyújt a front-end kódolási képességeinek fejlesztésében. A kódolást azután kezdheti meg, hogy..

Mikor kell használni a Type-t az interfészhez képest a TypeScriptben?
A TypeScript a JavaScript gépelt szuperkészlete, amely statikus gépelést ad a nyelvhez. Ez megkönnyíti a robusztus és karbantartható kód írását azáltal, hogy a hibákat a fordítási időben..