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. [Utility &amp; Helpers](/categories/utility)
4. /
5. brosland/modals

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

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

The implementation of Bootstrap modals for Nette framework.

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

Since Apr 25Pushed 4mo ago1 watchersCompare

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

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

46

—

FairBetter than 92% of packages

Maintenance58

Moderate activity, may be stable

Popularity15

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

549d 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

[nette/component-model

⚛ Nette Component Model

28817.0M101](/packages/nette-component-model)[ublaboo/datagrid

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

2972.0M24](/packages/ublaboo-datagrid)[czubehead/bootstrap-4-forms

Nette extension for Bootstrap 4 forms

1019.5k1](/packages/czubehead-bootstrap-4-forms)

PHPackages © 2026

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