Dynamic Components
A container that dynamically renders child components based on content tree relationships. Supports rendering nested component hierarchies without manual placeholder assignment, enabling content-driven page assembly.
The examples below show the Dynamic Components rendering with different ComponentType values. Each example uses the same search block datasource but renders results using a different child component: Card (default), Content Block, and Image Feature. The grid section’s row-column settings control how many items display per row.
$name
$name
$name
$name
$name
$name
Usage Notes
- The Dynamic Components rendering uses the same
DynamicContainer.cshtmlview as Dynamic Card Group and Dynamic Carousel. The view iteratesModel.Placeholders["dynamicsection"]and renders each child component via the rendering engine’s component factory. - Unlike Dynamic Card Group (which renders inside a card-group container with no gutters), Dynamic Components renders items inside a grid section. Use the parent section’s row-column and gutter parameters to control layout spacing.
- The datasource should be a Search Block item (located under
/Home/api/search/). The search block defines the query criteria that populate the grid. - The
ComponentTypeparameter is a Droplink to a dictionary item that tells the rendering contents resolver which component rendering to use for each result. Available types include Card, Content Block, Content Block – Icon, Image Feature, Card – Overlayed, Card – Horizontal, and Card – Bordered. - The
PageSizeparameter limits the number of items rendered. If empty, all results from the search block are shown. ExplicitItemsallows manually specifying content items to include in the grid.AppendItemscontrols whether explicit items are appended to or replace search results.AdministrativeTagscan be used to filter results by tag taxonomy.- The default
ComponentTypestandard value is Card ({C0050A13-C8F8-4041-AB80-CA8AA971B62A}), meaning if no ComponentType is specified the rendering will use the Card component.
Control Properties
Standard Values / Defaults
| Parameter | Default Value |
|---|---|
| ComponentType | Card ({C0050A13-C8F8-4041-AB80-CA8AA971B62A}) |
| PageSize | (empty — shows all results) |
| AdministrativeTags | (empty) |
| ExplicitItems | (empty) |
| AppendItems | (unchecked) |
Rendering Parameters
| Parameter | Type | Description |
|---|---|---|
| ComponentType | Droplink (dictionary) | Selects which component rendering is used to render each result item in the grid. Options: Card, Content Block, Content Block – Icon, Image Feature, Card – Overlayed, Card – Horizontal, Card – Bordered. |
| PageSize | Integer | Limits the number of items displayed. Leave empty to show all results. |
| AdministrativeTags | Multilist | Filters results by administrative tag taxonomy items. |
| ExplicitItems | Multilist | Manually specified content items to include in the grid. |
| AppendItems | Checkbox | When checked, explicit items are appended to search results rather than replacing them. |
Template Properties
The Dynamic Components rendering does not use a traditional datasource template with content fields. Instead, the datasource is a Search Block item (based on the Foundation/AzureSearch/JsonBuildingBlock template) that defines the query criteria. The search block’s template fields (query path, template filter, sort order, etc.) determine which content items are returned and rendered as grid items.
The actual item content fields depend on the rendering specified by the ComponentType parameter. Each result item’s fields are mapped by the selected component rendering’s model (e.g., Card uses Title, Copy, Image; Content Block uses Title, Subtitle, Copy; Image Feature uses Title, Image, Link).