Search by

parasek / block_builder

parasek

Design, configure and build custom Concrete CMS blocks with a user‑friendly interface.

Package info

github.com/parasek/concretecms-block-builder

Type:concretecms-package

pkg:composer/parasek/block_builder

Statistics

Installs: 761

Dependents: 0

Suggesters: 0

Stars: 14

Open Issues: 0

2.8.1 2025-10-10 11:41 UTC

This package is auto-updated.

Last update: 2026-10-20 19:21:28 UTC


README

Design, configure, and generate custom Concrete CMS blocks through a user-friendly Dashboard interface or with the help of an AI coding agent.

Block Builder creates the files and field-handling code required by a working block. You can then customize the generated templates, styles, and behavior for your project.

Features

  • Generate complete Concrete CMS blocks through an intuitive Dashboard interface.
  • Create and rebuild blocks with AI coding assistants using console commands and the included agent instructions.
  • Use fields as standalone block fields or as part of a repeatable set.
  • Load an existing Block Builder configuration as the starting point for a new block.
  • Rebuild existing blocks when their configuration changes.

Available field types

  • Text
  • Number
  • Textarea
  • WYSIWYG Editor
  • HTML Editor
  • Single Choice
  • Multiple Choice
  • Flex Link
  • Link from Sitemap
  • Link from File Manager
  • External Link
  • Image
  • Express
  • File Set
  • Files from Folder
  • Date Picker
  • Color Picker
  • Icon Picker
  • SVG Icon Picker
  • User Selector

All field types can be used as standalone fields or in repeatable entries.

Console generation and rebuilding

With the package installed, run from the project root (containing public). Add --validate-only to either command to check the configuration without changing files or the database.

Generate a new block

php public/concrete/bin/concrete block-builder:generate /path/to/config.json --no-interaction

Creates application/blocks/<blockHandle> from a Block Builder JSON configuration. Set installBlock: true to also install it. Existing blocks are never overwritten.

Rebuild an existing block

php public/concrete/bin/concrete block-builder:rebuild example_block --no-interaction

Regenerates an installed Block Builder block from its config-bb.json and refreshes its database schema. Use it after configuration changes or a Block Builder/Concrete CMS upgrade.

Save customized views, templates, and styles outside the block directory before rebuilding, then restore or adapt them afterward. Check existing data before changing field types: --validate-only does not verify data compatibility.

AI agents should follow SKILL.md for configuration, generation, and rebuilding workflows.

Requirements

Block Builder version Concrete CMS version PHP version
3.0.0 or later 9.5.2 or later 8.4 or later
2.5.0–2.8.1 (EOL) 9.2.0 or later 7.2–8.4
2.2.0–2.4.0 (EOL) 9.1.x 7.2–8.4
2.0.0–2.1.2 (EOL) 9.0.x 7.2–7.4
1.0.3–1.4.0 (EOL) 8.2.1 or later 5.5–7.4
1.2.1-legacy (EOL) 5.7.5 or later 5.3–7.1

Installation

Block Builder is available from the Concrete CMS Marketplace.

To install the latest version with Composer, run:

composer require parasek/block_builder

After adding the package, install Block Builder from the Concrete CMS Dashboard if it has not already been installed.

Security

Block Builder can place custom PHP code in generated block controllers. Grant access to its Dashboard pages and the install_packages permission only to fully trusted administrators who are authorized to execute server-side code.

Support the project

If Block Builder is useful to you, you can support its development by:

Project links

Tests

See the testing documentation for PHPUnit commands, coverage information, and the release smoke-test checklist.