Patterns - comment ajouter / modifier
Ajouter un endpoint REST custom
- Creer
XxxApiController : UmbracoApiControllerdansControllers/. - La route est automatique :
~/umbraco/api/Xxx/{Methode}. - Mettre la logique metier dans un service (
Services/) derriere une interface (Interfaces/), injecte par constructeur. - Si l'endpoint doit etre protege (import, reindex), verifier le header
X-Webhook-Secret.
Ajouter un service
- Interface dans
Interfaces/IXxxService.cs. - Implementation dans
Services/XxxService.cs. - Enregistrer scoped dans
Program.cs(AddScoped<IXxxService, XxxService>).
Ajouter un handler de notification
- Implementer
INotificationHandler<TNotification>(ou async) dansNotifications/. - Enregistrer dans
SiteComposer.csviabuilder.AddNotificationHandler<TNotification, THandler>(). - Exemples existants : indexation media au save, webhook au publish, injection d'URLs de preview.
Modifier le schema (document types / data types)
- Editer dans le backoffice Umbraco.
- uSync exporte vers
src/Web/uSync/v9/(ExportOnSave: Settings). - Committer les
.config: c'est le seul moyen de propager le schema vers staging/prod (uSync importe au demarrage). - ModelsBuilder regenere les modeles C# (
SourceCodeAuto).
Ajouter / personnaliser le rendu d'un block (HTML pour consommateurs)
- Ajouter un partial dans
Views/Partials/Blocks/. - Le mapper dans
BlockGridHtmlRenderer(alias de content type -> partial). - Le rendu se fait via
ViewRenderService.
Personnaliser le tri/index Delivery API
Voir PublishedDateSort comme modele : implementer ISortHandler et/ou IContentIndexHandler, enregistrer via AddUnique dans SiteComposer. Penser a reconstruire l'index Examine apres coup.
Contributors
No contributors
Changelog
No recent changes

