Shapes are dynamic view models that are used to construct the data model behind the layout of a page in Orchard. The resulting structure is a tree (the tree of shapes) where each shape corresponds to a piece of markup in the end: shapes containing other shapes produce wrappers around other pieces of markup while the leaves of this tree correspond to simple templates. Each shape contains every information to render their corresponding template: they're the view models for their templates.
- Documentation on shapes
- Video tutorial on creating ad-hoc shapes
- Documentation on the usage of Shape Tracing, the tool for determining which shape is behind what you see
- Documentation on alternates: shapes can have have different renderings corresponding to them depending on various factors; those different renderings are called alternates
- Documentation on Placement.info explaining how shapes building up content items' displays and editors are ordered
- Explaining how shapes are produced in the background
- Using shapes as Html helpers
- Hooking into shape events
This page and many others here are part of the open-source, portable package of Orchard 1.x goodies: the Orchard Dojo Library. The Library is freely accessible by anyone; just go to its repository to download its full content (you can even download the textual content of the Library as a big concatenated document in HTML), file issues or fork it! You can even edit it online on Bitbucket, just click on the Edit link in the upper right corner!
Note that the Library also has an Orchard Core version, check it out here!