Column control
Use column control when you need two to five columns that stack on narrow screens.
Visitors read horizontally on desktop when two topics belong together (for example image plus copy, or compare blocks). Content authors pick a layout preset (such as half and half or uneven splits), then place components in each column. Visual designers use separators and gutters to keep columns distinct without crowding.
Behaviour
- Layout choice sets how many columns appear and their relative widths.
- Edit mode uses special paragraph controls so authors can start, break, and end the column row predictably.
- On narrow viewports, columns stack according to foundation CSS.
Anatomy
- Column control start opens the row.
- Column breaks separate columns (foundation behaviour).
- Column control end closes the row.
- Each column holds a nested parsys for arbitrary components.

Replace with two- and three-column examples.
Content guidelines
- Choose a layout that matches how authors will fill columns (equal pairs versus uneven splits).
- Use vertical separators only when columns need a stronger visual split.
Best practices
Do
- Prefer Tiles or Card deck when the design is explicitly a tile or card grid.
- Test stacking on mobile; column controls rely on foundation and CSS for small screens.
Don't
- Don't nest many column controls; it hurts authoring clarity and keyboard order.
When to use
- Side-by-side content that must stay in one row on desktop (for example text + image, two cards).
- Multi-column lists or tiles when Tiles or other wrappers are not a fit.
When not to use
- Responsive card grids that should reflow as a single grid; consider Card deck or Tiles.
- Navigation columns; use Column control only for main content layout.
CRXDE Lite query
Use this query in CRXDE Lite to find instances of this component.
/jcr:root/content//*[@sling:resourceType = 'concordia/components/parsys/colctrl']Authoring fields
| Field | Purpose |
|---|---|
| Column layout | Selects count and cq-colctrl-lt* class (see dialog options). |
| Vertical separators | Optional separators between columns. |
| No gutter | Tighter column spacing. |
| Double margin | Extra spacing between columns (limited layouts per field description). |
Technical behaviour
The component lives under apps/concordia/components/parsys/colctrl. In edit mode, colctrl.jsp customizes the paragraph toolbar (start, break, end labels) and disables reordering for stable column editing. Rendering of the column chrome and child parsys is handled by the AEM column control foundation together with Concordia design CSS classes (cq-colctrl-lt*) configured in the dialog.
Authors insert Column control from the parsys, choose a layout (for example 50% / 50%, 25% / 75%, five-column special), then add components into each column’s area.
Instances in the codebase
| Location | Notes |
|---|---|
apps/concordia/components/parsys/colctrl/dialog.xml | Author-facing layout list and options. |
apps/concordia/components/parsys/colctrl/colctrl.jsp | Edit chrome only; rendering uses foundation column control. |
| Item | Location |
|---|---|
| Dialog | apps/concordia/components/parsys/colctrl/dialog.xml |
| Edit script | apps/concordia/components/parsys/colctrl/colctrl.jsp |
| Design dialog | design_dialog.xml in the same folder for policy if used |