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