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