Collection

A Collection is a superstructure that may contain multiple child structures, and entries of data. The collection is an integral part of Vae’s content management model. Use a Collection whenever you need to store multiple entries of information within the same structure. For example, the website for Vae Records, an awesome record label, needs to have information about each artist signed to the label. In Vae, we’d create an Artists collection with child structures called Name, Bio, and Photo.

Common Use Examples: News Posts, Items, Links, Press Entries, Stockists
Supported Validations: None.
Related VaeML Tags: The <v:collection> tag allows iterating through each entry in the collection.

In the backstage, collections are generally displayed in a List View. In this screenshot, we are viewing the Artists collection:

Nested Collections

Vae also allows you to create Nested Collections, a variant of the Collection. Nested collections are different from regular collections because their entries are organized into a tree hierarchy – that is, some entries will be children of other entries. This is useful in a variety of situations.

One example is creating a category navigation for an online store. Imagine a guitar store – they might have categories Guitars, Basses, and Drums, but want to subdivide Guitars into Acoustic and Electric. With a nested collection, this is possible and intuitive. They would also be able to go in and further subdivide electric guitars to 6-string and 12-string, for example.

To create a nested collection, check the box Allow nested structures? when creating a collection in the Site > Content Management tab:

In the backstage, Nested Collections operate very similarly to collections. Entries that are children of other entries will be indented in the List View and the reordering screen. On the reordering screen, you may move entire branches of the tree into different locations, and easily move an entry from one level or parent to another.

In VaeML and PHP integration, child entries are treated like any other child entry. The VaeQL name is the same for the parent and child.