PHPackages                             besnovatyj/yii2-cms-file-manager - 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. [File &amp; Storage](/categories/file-storage)
4. /
5. besnovatyj/yii2-cms-file-manager

ActiveYii2-extension[File &amp; Storage](/categories/file-storage)

besnovatyj/yii2-cms-file-manager
================================

Standalone-виджет файлового менеджера для Yii2 (ядро filemanager-core + AssetBundle + PHP-виджет). Без CKEditor.

v1.0.1(3w ago)0111MITPHP &gt;=8.4

Since Jul 6Compare

[ Source](https://github.com/besnovatyj/yii2-cms-file-manager)[ Packagist](https://packagist.org/packages/besnovatyj/yii2-cms-file-manager)[ RSS](/packages/besnovatyj-yii2-cms-file-manager/feed)WikiDiscussions Synced 1w ago

READMEChangelogDependencies (4)Versions (3)Used By (1)

besnovatyj/yii2-cms-file-manager
================================

[](#besnovatyjyii2-cms-file-manager)

**Standalone-виджет файлового менеджера** для Yii2 — без CKEditor. Тонкая обёртка над ядром [`@besnovatyj/filemanager-core`](../../npm/filemanager-core): здесь только сборка ядра в собственный `dist/` + PHP-виджет и `AssetBundle`. Вся доменная логика ФМ — в ядре.

Это «брат» виджета редактора [`besnovatyj/yii2-cms-ckeditor5`](../yii2-cms-ckeditor5): тот монтирует CKEditor, этот — чистый файловый менеджер. Для интеграции ФМ *внутрь* редактора используется отдельный CKEditor-плагин [`besnovatyj/ckeditor5-filemanager`](../ckeditor5-filemanager).

Что внутри
----------

[](#что-внутри)

```
assets/index.ts                 # реэкспорт публичного API ядра (createApp, …) → dist/file-manager.js
esbuild.js                      # сборка: ядро filemanager-core бандлится внутрь, CSS уже вшит в JS
src/FileManagerWidget.php       # PHP-виджет: кнопка-триггер + init-модуль (createApp().open())
src/FileManagerCoreAsset.php    # AssetBundle: публикует dist/file-manager.js (JS грузится import()-ом)
dist/                           # собранный file-manager.js (КОММИТИТСЯ — потребляется без Node)

```

`ckeditor5` нигде не участвует. `dist/file-manager.js` — ESM-модуль с именованным экспортом `createApp`, который виджет грузит динамическим `import()`.

Сборка TS (нужен Node/Docker)
-----------------------------

[](#сборка-ts-нужен-nodedocker)

```
# 1) сначала собрать ядро (виджет бандлит его dist):
( cd ../../npm/filemanager-core && npm install && npm run build )

# 2) затем виджет:
npm install        # подтянет @besnovatyj/filemanager-core по file:../../npm/filemanager-core
npm run build      # → dist/file-manager.js (ядро вбандлено, CSS вшит)
```

`dist/` коммитится в git. Потребляющий проект Node не использует.

Использование
-------------

[](#использование)

### Picker в форме (ActiveForm)

[](#picker-в-форме-activeform)

Поле + кнопка; двойной клик по файлу кладёт его URL (или иной атрибут) в поле:

```
use Besnovatyj\FileManager\FileManagerWidget;

echo $form->field($model, 'image')->widget(FileManagerWidget::class, [
    'fmDefaultPath' => '/blog',
    // 'returnAttribute' => 'path', // что класть в поле: url (по умолчанию) | path | key | name
]);
```

Или напрямую:

```
echo FileManagerWidget::widget([
    'model' => $model,
    'attribute' => 'image',
]);
```

### Просто открыть менеджер (browser-режим)

[](#просто-открыть-менеджер-browser-режим)

Без модели и `name` поле не выводится — только кнопка, открывающая ФМ:

```
echo FileManagerWidget::widget(['triggerLabel' => 'Файлы']);
```

Настройки виджета
-----------------

[](#настройки-виджета)

СвойствоПо умолчаниюНазначение`model`/`attribute`—picker через ActiveForm`name`/`value`—picker без модели`showInput``true`выводить ли поле (авто-`false`, если нет ни модели, ни `name`)`returnAttribute``'url'`свойство выбранного файла, кладущееся в поле (`url`/`path`/`key`/`name`)`triggerLabel``'Файловый менеджер'`подпись кнопки`triggerOptions``[]`HTML-опции кнопки`fmConnector``'/file/backend/file-manager'`URL коннектора бэкенда ФМ (серверная часть — в `yii2-cms-file`)`fmDefaultPath``'/'`стартовая директория и путь загрузки по умолчанию`fmHeaders``[]`доп. HTTP-заголовки (мёржатся поверх CSRF/Ajax-заголовков)Бэкенд-коннектор (`file-manager`) живёт в файловом модуле `besnovatyj/yii2-cms-file` — это серверная часть, к которой обращается ФМ; URL настраивается свойством `fmConnector`.

###  Health Score

42

—

FairBetter than 88% of packages

Maintenance95

Actively maintained with recent releases

Popularity7

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity52

Maturing project, gaining track record

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 ~23 days

Total

2

Last Release

24d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/4dab004c4cab25d241bbf453f63cb48e6226d00bd84f50315e735c257c4a1b40?d=identicon)[besnovatyj](/maintainers/besnovatyj)

---

Tags

cmsyii2widgetfilemanager

### Embed Badge

![Health badge](/badges/besnovatyj-yii2-cms-file-manager/health.svg)

```
[![Health](https://phpackages.com/badges/besnovatyj-yii2-cms-file-manager/health.svg)](https://phpackages.com/packages/besnovatyj-yii2-cms-file-manager)
```

###  Alternatives

[craftcms/cms

Craft CMS

3.6k3.7M3.4k](/packages/craftcms-cms)[skeeks/cms

SkeekS CMS — control panel and tools based on php framework Yii2

13926.0k66](/packages/skeeks-cms)

PHPackages © 2026

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