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 |
53 | + | operator: 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 | ||
83 | # Écrase la configuration des points | |
84 | points: 23 | |
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 |