Tuto Site
uuid_copy
Réutiliser un bloc (card, header, CTA) sans dupliquer l’arbre. Hôte type = id_copy 0195f235-01ce-7cd3-9544-5d8e64c59bd3 + uuid_copy = uuid du modèle. Live : onion.dart (nœud) + folder.dart folderView() (enfants). L’onion du nœud copy est sautée.
JSON hôte
{
"uuid": "<hôte>",
"uuid_page": "<page courante>",
"uuid_folder": "<parent ou vide>",
"type": "0195f235-01ce-7cd3-9544-5d8e64c59bd3",
"uuid_copy": "<uuid du ViewContent modèle>",
"width": { "l": { "i": 50, "iT": "%" } },
"height": { "l": { "i": 0 } },
"title": { "fr": "Offre chauffage", "en": "Heating offer", "nl": "", "es": "", "it": "", "pt": "", "de": "" },
"image": "",
"path": "",
"query": "",
"link": "",
"uuid_link": ""
}
Ne pas émettre les enfants du modèle sous l’hôte. folderView les tire du modèle.
Rewrite nœud
| Depuis l’hôte (toujours) | Depuis l’hôte si non vide | Depuis le modèle |
|---|---|---|
uuid, uuid_page, width, height | title subtitle style_title image video path query time_* link uuid_link | type, styles, media restant, enfants via from_uuid_copy |
L’hôte impose sa boîte. Le modèle impose l’apparence. Overlay title seulement si !host.title.isEmpty.
Rewrite enfants
source = view_getUUID(from_uuid_copy) enfants = view_getFolderUUID(source.uuid_page, source.uuid) chaque enfant.copyWith( uuid: hôte.uuid, from_uuid_copy: enfant.uuid, uuid_page: hôte.uuid_page, uuid_folder: source.uuid )
Ne pas émettre from_uuid_copy (runtime). Chaîne infinie : ne pas copier un nœud qui copie l’hôte.
Piège T10. Hôte width 40 % parent 1000 → boîte 400. Enfants du modèle à 100 % = 400 px de large (40 % hôte, pas 100 % modèle historique). Hôte sans
uuid_copy ou modèle manquant → vide/shrink.