Components Reference > Custom View
The Custom View is one of the most used and powerful components, whilst being conceptually quite simple.
See an example of a Custom View
Embed Query Fields
Fundamentally a Custom View provides a text surface on which you can embed fields from an underlying Query. Because the text surface can be formatted and styled you have complete control over the appearance of the content.
In addition to the text surface, the view can take fields from the underlying Query and use them to define some page-wide variables. These are only meaningful if the view is restricted to show just one record:
- Page Title
- Meta Contents
- Meta Description
In addition to embedding fields, you can embed other objects, including images and Flash.
You can also embed Views of other Queries. This ability to nest queries can be used to create powerful effects, however attention should be paid to the page creation time required when a large quantity of database queries need to be executed.
Parameters control what is displayed
When queries are embedded on a custom view surface, the child query is passed parameters allowing it to know which record the parent query is displaying. This allows the child query to display information related to that record.
For example, the parent query might render information about people, one record per person, and the child record could show photographs of that person.
Custom Views can be embedded on any text surface, including, pages, layout element text zones, and even rich text fields in Tables.
In addition to providing the surface to be displayed for each record that is returned, the Custom View also provides two other surfaces to be used when records are not displayed:
- The No Records text surface is displayed when there are no records eligible to be displayed. This is typically used to provide a message to the user that there is nothing to see.
- The Records Limit Exceeded text surface is used when the number of records available to be displayed is greater than the range limit specified when the view is embedded (by default there is no range limit).