PHPackages                             brosland/modals - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. brosland/modals

ActiveLibrary

brosland/modals
===============

The implementation of Bootstrap modals for Nette framework.

v2.2.0(1y ago)14272MITPHPPHP ^8.3

Since Apr 25Pushed 3mo ago1 watchersCompare

[ Source](https://github.com/brosland/modals)[ Packagist](https://packagist.org/packages/brosland/modals)[ RSS](/packages/brosland-modals/feed)WikiDiscussions master Synced 2mo ago

READMEChangelog (7)Dependencies (6)Versions (11)Used By (0)

Brosland / Modals
=================

[](#brosland--modals)

This package provides a simple management of modals for Nette framework (e.g. Bootstrap modals).

List of components:

- **Modal** - abstract class for a modal
- **ConfirmationModal** - simple modal for a confirmation

### Installation

[](#installation)

The best way to install is using [Composer](http://getcomposer.org/):

```
$ composer require brosland/modals
```

1\. (optional) Register DI extension `ModalsExtension` in your neon config. This step you can skip if you use Bootstrap 4.

```
brosland.modals:
	version: 'v5'

extensions:
	brosland.modals: Brosland\Modals\DI\ModalsExtension
```

2\. Setup `ModalManager`: the best practice is to do it in your base presenter.

- add `ModalManagerTrait`
- implement interface `ModalManager`
- add update of modal into the method `beforeRender`

```
use Brosland\Modals\UI\ModalManager;
use Brosland\Modals\UI\ModalManagerTrait;
use Nette\Application\UI\Presenter;

abstract class BasePresenter extends Presenter implements ModalManager
{
	use ModalManagerTrait;

	protected function beforeRender(): void
	{
		parent::beforeRender();

		$this->updateModal();
	}

	// ...
```

3\. Add placeholder for a modal to your base layout

```
{snippet modal}{ifset $modal}{control $modal}{/ifset}{/snippet}
```

4\. Install [Webpack](https://webpack.js.org/) and [Naja](https://github.com/jiripudil/Naja).

5\. Copy `src/Brosland/Modals/UI/Modal.js` to your directory with Javascript files and register it in `Naja`.

6\. Don't forget to rebuild Webpack bundles.

###  Health Score

47

—

FairBetter than 94% of packages

Maintenance63

Regular maintenance activity

Popularity16

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity84

Battle-tested with a long release history

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~305 days

Recently: every ~451 days

Total

9

Last Release

502d ago

Major Versions

v1.0 → v2.02018-10-08

v1.1.x-dev → v2.2.x-dev2024-08-31

PHP version history (5 changes)v1.0PHP &gt;= 5.6

v2.0PHP &gt;= 7.1

v1.1PHP &gt;=5.6

v2.2.x-devPHP &gt;= 7.2|&lt;8.2

v2.2.0PHP ^8.3

### Community

Maintainers

![](https://www.gravatar.com/avatar/34a0f247a6ea893c5760dba4adf60004e47c7c807d6e7a6b20a51cb49ffa2656?d=identicon)[brosland](/maintainers/brosland)

---

Top Contributors

[![brosland](https://avatars.githubusercontent.com/u/5032495?v=4)](https://github.com/brosland "brosland (64 commits)")

---

Tags

nettebootstrapmodalsbrosland

### Embed Badge

![Health badge](/badges/brosland-modals/health.svg)

```
[![Health](https://phpackages.com/badges/brosland-modals/health.svg)](https://phpackages.com/packages/brosland-modals)
```

###  Alternatives

[ublaboo/datagrid

DataGrid for Nette Framework: filtering, sorting, pagination, tree view, table view, translator, etc

2971.9M23](/packages/ublaboo-datagrid)[contributte/forms-bootstrap

Nette extension for Bootstrap forms

211.1M4](/packages/contributte-forms-bootstrap)[nasext/dependent-select-box

Dependent Select Box for Nette Framework.

21262.8k2](/packages/nasext-dependent-select-box)[nette/web-project

Nette: Standard Web Project

10991.8k](/packages/nette-web-project)[tomaj/nette-bootstrap-form

Nette bootstrap form renderer

28440.4k6](/packages/tomaj-nette-bootstrap-form)[nepada/form-renderer

Latte template based form renderer for Nette forms with full support for Bootstrap 3, 4 &amp; 5.

11251.0k](/packages/nepada-form-renderer)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
