Structure
Structure
Items
Concept
Les objets ont des propriétés intrinsèques codées en dur, et un ensemble de propriétés éditables appuyées sur les items.
Un Item peut être un titre, un champ de texte, un sélecteur à choix multiple, une galerie de photos… Placés dans un ordre choisi, ils définissent la structure de la page des objets. Ainsi, un matériau a un certain nombre d’items, un projet en a d’autres. C’est éléments permettent à la fois l’édition en admin et l’affichage en front.
Diagramme entité relations
Dans le diagramme suivant, Object peut être un Material, un Project… Toutes les classes sont rangées dans un namespace Structure::, afin de ne pas polluer le niveau métier.
erDiagram
Item {
string name
string slug
int kind
text hint
int position
}
Value {
text text
}
Option {
string name
string slug
text hint
int position
}
Item }o--|| Class : about
Item ||--o{ Option : has
Item ||--o{ Value : has
Value }o--|| Object : polymorphic
Value }o--o| Option : has
Class ||--o{ Object : instanciates