Template Rows

The I/O Module Template Rows table defines the individual label/value rows that appear inside each section on the product page.
Each row becomes one line in the Capabilities or Specifications table.
Example On The Product Page
Analog Inputs
Channels Up to 16 true bipolar differential
Acquisition rate Up to 200 ksps
Resolution ADC Up to 16 bit
Analog Inputs comes from Template Sections.
Channels, Acquisition rate, and Resolution ADC come from the Template Row Label.
The values on the right come from Text Template.
Important Columns
| Column | What it means |
|---|---|
Row Name | Internal or editorial row name for the row record. |
Section | Section or sections where the row appears. |
Label | Row label shown in the left column of the product table. |
Text Template | Text or value template shown in the right column after placeholders are resolved. |
Merge Group | Optional group key used to combine multiple template rows into one rendered value. Rows with the same label and merge group are joined together. |
Join Strategy | Optional single-select field that controls how rows in the same merge group are joined, for example with commas, slashes, semicolons, and, or line breaks. |
Placeholder Syntax
Use placeholders in this format:
{{placeholder-key}}
Placeholder keys are stored in Placeholder Definitions without the braces.
Use kebab-case keys, for example:
{{speed}}{{no-of-analog-in-se}}{{operating-temperature-unit}}{{cable-link-token}}
Lowercasing The First Letter Of A Placeholder
Use | lower-first when a placeholder appears in the middle of a sentence and should start with a lowercase letter.
This modifier is used in Text Template fields.
Example:
fast, {{sampling-mode-analog-out | lower-first}}-sampling
This renders as:
fast, simultaneous-sampling
Use this only where needed. Do not use it everywhere by default.
Use | lower-first only in the text field where the placeholder appears. Do not add it to the Placeholder Key in Placeholder Definitions.
Do not use | lower-first for technical acronyms or product names unless you are sure the first letter should be lowercase.
Examples that should usually stay unchanged:
TTLPWMCANI/O
Combining Optional Rows
Use one Text Template row for one complete optional piece of information.
If a required product value is missing, that row can be skipped.
Do not type commas, slashes, or other separators manually into one long template when the values are optional.
Instead, split the optional values into separate rows and use Merge Group plus Join Strategy.
For example, instead of writing one long template with a manual comma:
{{analog-voltage-range-input-min-v}} to {{analog-voltage-range-input-max-v}} V, {{current-range-analog-in-min}} to {{current-range-analog-in-max}} mA
Split it into separate rows and give them the same merge group:
| Label | Text Template | Merge Group | Join Strategy |
|---|---|---|---|
Input range | {{analog-voltage-range-input-min-v}} to {{analog-voltage-range-input-max-v}} V | input-range | comma |
Input range | {{current-range-analog-in-min}} to {{current-range-analog-in-max}} mA | input-range | comma |
If both values are available, the product page renders:
Input range -10 to 10 V, 0 to 20 mA
If the current range is missing, the product page renders only:
Input range -10 to 10 V
The comma is added by Join Strategy, so no broken comma appears when one value is missing.
Multiple Lines Under One Label
Different Merge Group values under the same label render as separate lines.
| Label | Text Template | Merge Group | Join Strategy |
|---|---|---|---|
Input range | {{analog-voltage-range-input-min-v}} to {{analog-voltage-range-input-max-v}} V | voltage-current | comma |
Input range | {{current-range-analog-in-min}} to {{current-range-analog-in-max}} mA | voltage-current | comma |
Input range | {{resistance-min}} to {{resistance-max}} Ω | resistance-capacitance | comma |
Input range | {{capacitance-min}} to {{capacitance-max}} pF | resistance-capacitance | comma |
This renders as:
Input range
-10 to 10 V, 0 to 20 mA
100 to 1000 Ω, 10 to 50 pF
Rows inside the same Merge Group are joined using Join Strategy. Different merge groups under the same label are shown on separate lines.
Join Strategy Values
Configure Join Strategy as a single-select field in Airtable to avoid typos and inconsistent values.
| Value | Output |
|---|---|
newline | line break |
comma | , |
slash | / |
semicolon | ; |
and | and |
none | no separator |
If Merge Group is empty, the row is rendered as a standalone row.
If Join Strategy is empty for a row inside a merge group, the default behavior is newline.
How To Use This Table
- Put placeholders in
Text Template, not inLabel, unless you deliberately need dynamic label text. - Use meaningful row labels that match how editors read the product page.
- Keep placeholder spelling consistent with the definitions table.
- Reuse the same placeholder key wherever the same value should appear.
- Use
Merge GroupandJoin Strategywhen several optional rows should be combined without manually typing separators such as commas or slashes. - If a value is empty or unresolved, the row may be skipped depending on the current rendering behavior.
If a row needs too many placeholders, consider splitting it into simpler rows.