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

  1. Column control start opens the row.
  2. Column breaks separate columns (foundation behaviour).
  3. Column control end closes the row.
  4. Each column holds a nested parsys for arbitrary components.

Column control (placeholder)

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

FieldPurpose
Column layoutSelects count and cq-colctrl-lt* class (see dialog options).
Vertical separatorsOptional separators between columns.
No gutterTighter column spacing.
Double marginExtra 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

LocationNotes
apps/concordia/components/parsys/colctrl/dialog.xmlAuthor-facing layout list and options.
apps/concordia/components/parsys/colctrl/colctrl.jspEdit chrome only; rendering uses foundation column control.
ItemLocation
Dialogapps/concordia/components/parsys/colctrl/dialog.xml
Edit scriptapps/concordia/components/parsys/colctrl/colctrl.jsp
Design dialogdesign_dialog.xml in the same folder for policy if used