laxap / bootstrap-grids
Predefined gridelements Bootstrap 5 content elements: column grids, grids for simple accordions, and tabs.
Package info
github.com/RozbehSharahi/bootstrap_grids
Type:typo3-cms-extension
pkg:composer/laxap/bootstrap-grids
Requires
- php: ^8.1
- gridelementsteam/gridelements: ^12 || ^13 || dev-ea_14-0
- typo3/cms-core: ^12 || ^13 || ^14
Requires (Dev)
- helhum/typo3-console: ^8.2
- roave/security-advisories: dev-latest
- typo3/cms-filelist: ^12 || ^13 || ^14
- typo3/cms-fluid: ^12 || ^13 || ^14
- typo3/cms-fluid-styled-content: ^12 || ^13 || ^14
- typo3/cms-install: ^12 || ^13 || ^14
- typo3/cms-lowlevel: ^12 || ^13 || ^14
- typo3/cms-setup: ^12 || ^13 || ^14
- typo3/cms-tstemplate: ^12 || ^13 || ^14
Suggests
None
Provides
None
Conflicts
None
Replaces
- typo3-ter/bootstrap-grids: v6.1.1
- dev-master
- v6.1.1
- v6.0.0
- 5.0.0
- 3.0.0
- 2.2.0
- 2.1.1
- 2.1.0
- 2.0.1
- 2.0.0
- 1.4.1
- 1.4.0
- 1.3.1
- 1.3.0
- 1.2.0
- 1.1.5
- 1.1.4
- dev-typo3-v14-support
- dev-95-bring-docker-and-pipeline-support-up-to-speed-2
- dev-95-bring-docker-and-pipeline-support-up-to-speed
- dev-readme-updates
- dev-final-fixes
- dev-docker-fixes
- dev-improve-graphics
- dev-additional-locallang-improvements
- dev-47-not-set-in-xscol-is-lost-after-2nd-save
- dev-typo3-v12
- dev-translation-file-update
- dev-typo3-v12-fixes
- dev-option-for-opening-first-accordion-item
- dev-fix-initial-accordion-state
- dev-documentation-contribution
- dev-dev-setup
- dev-introduce-v4.0.0
- dev-v2.0-dev
This package is auto-updated.
Last update: 2026-09-13 15:09:28 UTC
README
Predefined gridelements Bootstrap 5 content elements: column grids, grids for simple accordions, and tabs.
Installation
- Install the extension via composer:
composer require laxap/bootstrap-grids. Ifgridelementsis not installed, it will be installed automatically since it's a requirement. - Include the static TypoScript templates. Both
bootstrap_gridsandgridelementstemplates are required (the order of templates is important).
NOTE: As of 2025-03-03, gridelements v12 doesn't support PHP 8.4, but we have an issue open they are responding to fix that. So, we will preemptively support PHP 8.4 in anticipation of that fix.
Usage
Use one of the predefined grids on your website.
NOTE: When using "Tabs From Content Elements" and "Accordion From Content", you need to set the header Type to Hidden. If you don't then the accordion/tab title will also display as a heading tag in the content area.
Updating to bootstrap_grids v5
The paths of TypoScript files have changed. Please ensure you reselect the template in your sys_template record.
Contribution
We would love your help! We have Docker set up with helper scripts to make contributions easy.
Development setup
- Install Docker.
- Fork the boostrap_grids repository.
- Clone the forked repository (e.g.
git clone https://github.com/your_username/bootstrap_grids.git), change into the directory, then checkout a branch or create desired branch. - OPTIONAL: Set
WWW_TYPO3_VERSION=12(or14) in.docker/.env(create the file if it doesn't exist yet) if you want to test against TYPO3 v12 or v14 instead of the default v13. - OPTIONAL: Start Xdebug if you need to debug PHP code.
- Run
.docker/bin/start. - Login at the printed TYPO3 URL with
admin/Password123_.
The stack is PHP 8.3 (nginx + php-fpm) with a MariaDB database. On first start, bootstrap-grids:setup-settings and bootstrap-grids:setup-database (in Classes/Command) automatically generate config/system/settings.php, a site config, a root page with the required static TypoScript templates already included, an admin backend user, and one example Grid Element per supported layout (2/3/4 columns, tabs, tabs from content elements, accordion) with dummy content, so there is already something to look at on the front page — no manual TYPO3 install-tool wizard or TypoScript setup needed. Ports are randomly assigned per checkout and written to .docker/.env; .docker/bin/start prints the URLs to use.
NOTE: WWW_TYPO3_VERSION=14 builds against gridelements' ea_14-0 early-access branch (private GitHub repo, priority access). It resolves via Composer only if you personally have access to that repo and have your own GitHub credentials configured locally for Composer (e.g. a github-oauth token in your global auth.json, or a COMPOSER_AUTH/GITHUB_TOKEN environment variable) — nothing is or should be committed to this repo for that. Without access, stick to the default v13 or use v12.
Both setup commands refuse to run unless TYPO3_CONTEXT starts with Development/BootstrapGrids/Docker (the context .docker/compose.base.yml sets), so they are inert outside this Docker dev environment.
Switching TYPO3 versions
WWW_TYPO3_VERSION is only read when the www image is built, so just changing it in .docker/.env and running .docker/bin/start again won't switch anything if the image already exists. .docker/bin/reset is the clean way to switch: it stops the environment, wipes vendor/, public/, var/, config/, composer.lock and the database volume, then rebuilds and starts fresh against whatever WWW_TYPO3_VERSION is currently set to.
WWW_TYPO3_VERSION=12 .docker/bin/reset
(or set WWW_TYPO3_VERSION in .docker/.env beforehand and just run .docker/bin/reset — both work the same way, since it's read via normal Docker Compose variable interpolation). Note that this wipes the database — there is no in-place migration between TYPO3 major versions here, each version starts from a fresh install with the example fixtures reseeded.
Docker scripts
| Command | Description |
|---|---|
.docker/bin/start |
Build and start the dev environment, then run the post-start setup (settings/database/cache) |
.docker/bin/stop |
Stop the dev environment |
.docker/bin/reset |
Stop, wipe vendor/, public/, var/, config/, composer.lock and the DB volume, then start again |
.docker/bin/logs |
Tail logs for all services |
.docker/bin/www-logs |
Tail logs for the www service only |
.docker/bin/www-cli |
Enter the www container |
.docker/bin/www-composer [cmd] |
Runs composer commands inside the container (e.g. .docker/bin/www-composer install) |
.docker/bin/www-console [cmd] |
Runs vendor/bin/typo3 commands (e.g. .docker/bin/www-console cache:flush) |
.docker/bin/www-cache-clear |
Flushes the TYPO3 cache |
.docker/bin/print-urls |
Prints the frontend/backend URLs and login credentials |
.docker/bin/compose [command] |
Runs docker compose commands directly (e.g. .docker/bin/compose up -d --build) |
Change log
- See the release notes.
Special thanks
- Charles Coleman Constantly pushing me on continuation and supporting me on updates
- Daniel Corn: Defining the grids via pageTS brings a lot of advantages.
- Josef Körner: For reducing the accordion TypoScript setup.



