The dataselect field type will create a select box which draws its options from the content of another region.

<perch:content id="thing" label="Thing" type="dataselect" page="/about.php" region="Main heading" options="text">

You use it like a regular select box, but with some extra parameters:

dataselect Configuration

Attribute Value
page the root-relative path to a page containing the region you want to use
region the name of the (usually multiple-item) region to use
options the ID of a field in the region to populate the select box with. Can be multiple IDs, separated by spaces.
values (optional) the ID of another field in the region to take the values from.

In use

Using a data select starts by creating a region to hold the source data for the list. This will normally be a multiple item region (one item per select list entry), and often with two fields per item (name and value).

Let’s say we want to create a data select to list categories. We’ll create a new page called /categories.php and create a region on it called Categories. The template for this region might look like this:

<perch:content id="categoryName" type="text" label="Category name" required>
<perch:content id="categorySlug" type="slug" for="categoryName" hidden="true">

When editing the region, the user will be asked for the category name. A second field, categorySlug will be created automatically and stored. That should be all ready go.

In a different template, we can make use of the categories in a data select like this:

<perch:content id="category" type="dataselect" label="Category" page="/categories.php" region="Categories" options="categoryName" values="categorySlug">

Picking an option from the data select will store the categorySlug as the value for that field.