Obiges Code-Beispiel zeigt ein vollständiges Template eines Shapes. Erstellt wird damit ein einfaches Shape, das einen Absatz beinhaltet, was dem Default-Paragraph-Shape entspricht.
Betrachtet werden sollen hier nur die unterstrichenen, shapebezogenen Renderfunktionen. Die Funktionen des Attributs werden weiter unten im Abschnitt Attribute erklärt.
- Grundsätzlich muss ein Shape-Template mit der Zeile "@ModelType API.ViewModel.iShape" beginnen. Damit wird das von CONTAILOR übergebene View-Model-Objekt entgegengenommen und kann verwendet werden.
- Ein Shape muss ein Element in erster Ebene besitzen, das alle anderen Inhalte umschließt. Nur so kann CONTAILOR das Shape als ganzes erkennen. Dies ist hier das div-Element mit ID "myShape". An genau dieses äußere Element müssen die für CONTAILOR notwendigen Werte zur Verwaltung der Shapes gehangen werden und zwar fest mit der Zeile "@Template.Shape.RenderEditParams(Model.Shape, EditMode)".
- Ein Shape muss ebenso einen Shaperahmen bekommen, damit im Editmodus alle Shapeaktionen über eine Toolbar aufgerufen werden können. Dieses muss mit der Funktion "@Template.Shape.RenderToolbar(Html, Model, EditMode)" geschehen. Diese Zeile muss sich innerhalb des Shape-Rahmens an letzter Stelle vor dem schließenden Tag des Rahmens befinden.
Damit wäre ein fertiges Shape-Template erstellt.
Sämtliche Render-Funktionen sind im Viewmode nicht von Bedeutung, dort wird der Quelltext des Shapes ohne jede Beeinflussung durch die Render-Funktionen geliefert.