SHOW:
|
|
- or go back to the newest paste.
| 1 | overwrite: | |
| 2 | - condition: | |
| 3 | - value: | |
| 4 | from: request # request ou product | |
| 5 | ref: | |
| 6 | object: App\Spec | |
| 7 | object_id: 12 | |
| 8 | condition: eq # eq, ne, gt, gte, lt, lte, in, range (avec deux valeurs, équivalent de gte et lte) | |
| 9 | to: # Peut être un tableau si la condition est "in" ou "range" | |
| 10 | ref: | |
| 11 | object: App\SpecValue | |
| 12 | object_id: 133 | |
| 13 | # Ou une littérale | |
| 14 | litteral: "Bleu" | |
| 15 | # Définit l'effet sur la requête | |
| 16 | # - set : définit et remplace une ou plusieurs valeurs | |
| 17 | # - unset : supprime une ou plusieurs valeurs | |
| 18 | # - add : ajoute la valeur à la littérale numérique | |
| 19 | # - subtract : soustrait la valeur à la littérale numérique | |
| 20 | # - multiply : multiplie la valeur à la littérale numérique | |
| 21 | # - divide : divise la valeur à la littérale numérique | |
| 22 | # - modulo : garde le reste de la division avec la littérale numérique | |
| 23 | # - add : ajoute la valeur à la littérale numérique | |
| 24 | effect: set | |
| 25 | to: | |
| 26 | ref: | |
| 27 | object: App\Spec | |
| 28 | object_id: 13 | |
| 29 | value: # Peut être un tableau pour ajouter de multiples valeurs | |
| 30 | ref: | |
| 31 | object: App\SpecValue | |
| 32 | object_id: 12233 | |
| 33 | # Ou une littérale | |
| 34 | litteral: "Rouge" | |
| 35 | ||
| 36 | ||
| 37 | algorithm: | |
| 38 | step_slug: | |
| 39 | # Si true et qu'un produit n'a pas la spec liée définie, alors il sera exclus. | |
| 40 | # Default : false | |
| 41 | mustMatch: true | |
| 42 | ||
| 43 | # Nombre de points ajoutés au scoring si il y a un match. Si checkbox, alors | |
| 44 | # les points de chaque match seront ajoutés à cette configuration. | |
| 45 | # Default: 0 | |
| 46 | points: 20 | |
| 47 | ||
| 48 | # Définit la référence à une spec | |
| 49 | refersTo: | |
| 50 | object: App\Spec | |
| 51 | object_id: 1 | |
| 52 | ||
| 53 | # Condition à utiliser pour vérifier si match : | |
| 54 | # - eq : est égal à | |
| 55 | # - ne : n'est pas égal à | |
| 56 | # - lt : est plus petit que | |
| 57 | # - gt : est plus grand que | |
| 58 | # - range : est compris entre ... et ... (inclus) | |
| 59 | # Default: eq | |
| 60 | condition: eq | |
| 61 | ||
| 62 | # Définit la configuration des valeurs en fonction des réponses. | |
| 63 | # Si une valeur n'est pas renseignée, alors elle ne rentrera pas | |
| 64 | # en compte dans l'algo, sauf pour les specs littérales. | |
| 65 | values: | |
| 66 | value_slug: | |
| 67 | # Définit la référence à une spec value, ou une littérale. | |
| 68 | refersTo: | |
| 69 | # Si la référence est une spec value | |
| 70 | object: App\SpecValue | |
| 71 | object_id: 1 | |
| 72 | ||
| 73 | # Si la référence est une littérale | |
| 74 | litteral: Bleu | |
| 75 | ||
| 76 | # Écrase la configuration des points | |
| 77 | points: 23 | |
| 78 | ||
| 79 | # Définit si on a besoin d'au moins une specValue qui matche, ou de toutes les specValues désirées qui matchent | |
| 80 | # Default: AND | |
| 81 | condition: OR | |
| 82 | ||
| 83 | # Ordre de qualité : détermine une échelle définissant la | |
| 84 | # qualité d'un produit par rapport à un autre, en fonction | |
| 85 | # d'une caractéristique. Les points ajoutés au score seront | |
| 86 | # modulés en fonction de l'écart entre la spec désirée et | |
| 87 | # la spec la plus proche. | |
| 88 | # Formule: points *= (1 - (Math.abs(foundQuality - wantedQuality) / (maxQuality - minQuality))) | |
| 89 | # Default: 1 | |
| 90 | quality: 20 | |
| 91 | ||
| 92 | # Permet de définir les valeurs par défaut de l'ensemble des valeurs | |
| 93 | valuesDefault: | |
| 94 | points: 20 | |
| 95 | quality: 23 |