Layout and general blocks
Three general-purpose blocks. They know nothing about products, which is what makes them useful for the bits of a buy column no product-specific block covers.
A container that lays its child blocks out in one direction, with one alignment and one padding value. The only block in Signal that nests other blocks.
| Setting | Type | Default | What it does |
|---|---|---|---|
| Layout direction | Select | group--vertical | group--horizontal lays children in a row, spaced apart and vertically centred; group--vertical stacks them |
| Alignment | Select | flex-start | flex-start (left), center, flex-end (right). Only shown — and only applies — when the direction is vertical |
| Padding | Range 0–200 px, step 2 | 0 | Horizontal padding when the direction is horizontal; vertical padding when it’s vertical |
It accepts @theme blocks, so it can hold any block in the theme — including another group.
Two presets appear in the Add block picker under a Layout category:
- Column — vertical, left-aligned, no padding
- Row — horizontal, no padding
What it’s for
Section titled “What it’s for”Putting two things on one line. The buy column is a single stack by default, so a row is the only way to sit a share row beside a perk, or two short text blocks side by side.
Every setting deliberately applies to one dimension only. There’s no separate horizontal and vertical padding, no cross-axis alignment — the block is a wrapper, not a layout engine, and keeping it that way is what stops the editor sidebar turning into a CSS panel.
A plain text block — a heading, a sub-heading, or a line of body copy.
| Setting | Type | Default | What it does |
|---|---|---|---|
| Text | Text | Text | The content |
| Text style | Select | text--title | text--title (2rem bold), text--subtitle (1.5rem), text--normal (inherits) |
| Alignment | Text alignment | left | Left, centre or right |
Use it for copy that belongs to the page rather than to the product — a run note, a dispatch date, a line about the fabric that isn’t in any metafield. It has a preset, so it’s one of the quickest blocks to add.
Custom Liquid
Section titled “Custom Liquid”The escape hatch. Anywhere a block can go, this can go instead.
| Setting | Type | Default | What it does |
|---|---|---|---|
| Liquid | Liquid | (empty) | Liquid and HTML, rendered in place |
It renders nothing when empty, so an unconfigured block leaves no trace.
When to reach for it
Section titled “When to reach for it”- An app gives you an embed snippet but no app block.
- You need a metafield Signal doesn’t surface — a care label, a fabric composition table, a made-in badge.
- A one-off note on a single product that no setting covers.
Because it’s a liquid setting you have access to the normal product objects, including product, collections, cart and settings.
For app code that needs a full-width home of its own rather than a slot in the buy column, Signal also ships an Apps section — a section whose only job is to hold app blocks on any template. Prefer that over pasting an app’s embed snippet here.