PHPackages                             alhimik1986/yii2\_js\_view\_module - 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. alhimik1986/yii2\_js\_view\_module

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

alhimik1986/yii2\_js\_view\_module
==================================

The module allows you insert to your page most used javascript-codes with specified presets.

1.2(7y ago)05331MITJavaScriptPHP &gt;=5.4.0

Since Oct 9Pushed 7y ago1 watchersCompare

[ Source](https://github.com/alhimik1986/yii2_js_view_module)[ Packagist](https://packagist.org/packages/alhimik1986/yii2_js_view_module)[ Docs](https://github.com/alhimik1986/)[ RSS](/packages/alhimik1986-yii2-js-view-module/feed)WikiDiscussions master Synced 4w ago

READMEChangelog (2)DependenciesVersions (3)Used By (1)

yii2 js\_view module
====================

[](#yii2-js_view-module)

Вспомогательный модуль для yii2-crud-module. Позволяет подгружать javascript-плагины с заданными параметрами. По своему поведению напоминает виджеты, но отличается тем, что, в отличие от виджета, она не выводит html-код, а только подгружает javascript-файлы и javascript-вьюшку с заданными параметрами.

Рассмотрим на примере календарика datepicker (модуля jquery-ui). Подгружать его через виджеты требует больше кода, а если виджетов (например, таких же однотипных календариков или, вообще, подобных) много, то это может сказаться на производительности. Поэтому приходит мысль задать календарикам один класс (например .ui-datepicker) и проинициировать все элементы командой $('.ui-datepicker').datepicker(); Теперь в голову приходит мысль, что мы не хотим для этого использовать виджет, а хотим проделать это во вьюшке, но тут опять выползает проблема: вьюшку нужно поместить в одно общее место и вызывать ее из разных модулей фреймворка, указывая соответствующие параметры, например, селектор '.ui-datepicker' и параметры календарика { dateFormat: 'dd-mm-yy' }. Так вот, для этого и нужен yii2-js-view-module.

Пример создания собственного js\_view
-------------------------------------

[](#пример-создания-собственного-js_view)

В файле components/JSPlugins.php находятся примеры вызова js-вьюшек, заключенные в комментарий. Большинство из них отсутствют , ибо они были использованы в моем прошлом проекте, но я оставил их, т.к. они служат отличным примером того, как должны вызываться js-вьюшки. Вот пример:

```
Yii::$app->view->registerJs(alhimik1986\yii2_js_view_module\components\JSPlugins::includePlugins([
	'formatter' => [
		[
			'selector' => '.date-formatter',
			'options' => [
				'pattern' => '{{D9}}.{{M9}}.{{9999}}',
			],
		],
		[
			'selector' => '.credit-card-formatter',
			'options' => [
				'pattern' => '{{9999}}-{{9999}}-{{9999}}-{{9999}}',
			],
		]
	],
	'ajaxTable' => [                                        // Подключить вспомогательные скрипты для поиска в ajax-таблице
		[
			'tbl_selector' => '#ajax-table',                             // Селектор ajax-таблицы для поиска
			'search_url' => \yii\helpers\Url::to(['search']),            // url-адрес, куда отправлять искомые данные
			'search_request_type' => 'post',                             // Тип запроса при поиске в таблице
			'search_on_change_selector' => '.search-on-change',          // Селектор элементов, при изменении или нажатии клавиш которых осуществлять поиск
			'search_on_change_dateSelector' => '.from-date, .to-date',   // Селектор элементов, при изменении которых осуществлять поиск
			'tooltip_selector' => '',                                    // Селектор для всплывающей подсказки при обновлении ajax-таблицы
			'loading_img' => '',                                         // url-адрес индикатора загрузки
			'error_selector' = '#errors',                                // Место, куда будут выводиться нестандартные ошибки валидации
			'ajaxDataCallBack' => 'js:function(data){return data;}',     // Пост-обработка данных для поиска перед отправкой ajax-запроса (например, чтобы втиснуть в поиск диапазон дат from_date и to_date)
			'afterSuccessCallBack' => 'js:function(data){}',             // Дополнительные операции при успешном запросе (в поиске)
		],
	],
]));

```

Здесь ключи массива: "formatter" и "ajaxTable" - названия файлов вьюшки, они хранятся в папке views/jsPlugins. Значения массива - это параметры, передаваемые в соответствующую вьюшку. Заходим в папку views/jsPlugins, в ней названия вьюшек имеют префикс "\_" (нижнее подчеркивание), покаывая этим, что она является частичной. Хороший и простой пример использования виден во вьюшке \_formatter.php ПАРАМЕТРЫ, ПЕРЕДАВАЕМЫЕ ВО ВЬЮШКУ ЗАКЛЮЧЕНЫ В ПЕРЕМЕННОЙ "$plugin\_params".

Пока есть один недостаток: хранить кастомные вьюшки в папке "vendor" - не совсем правильно, поэтому этот модуль будет лишь вспомогательным модулем для yii2-crud-module.

УСТАНОВКА:
----------

[](#установка)

Скачивается с помощью composer. В папке приложения в файле composer.json дописать строчку:

```
    "require": {
		"alhimik1986/yii2_js_view_module": "^1.0"
    },

```

или в командой строке ввести:

```
$ composer require alhimik1986/yii2_js_view_module

```

###  Health Score

28

—

LowBetter than 52% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity12

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity59

Maturing project, gaining track record

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

Total

2

Last Release

2880d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/f0bdbe7c1285ef99a818b17036da98d18b346c362e4045bf910b0a79211a3fc3?d=identicon)[alhimik19861](/maintainers/alhimik19861)

---

Top Contributors

[![alhimik1986](https://avatars.githubusercontent.com/u/7689682?v=4)](https://github.com/alhimik1986 "alhimik1986 (19 commits)")

---

Tags

yii2modulejs\_view

### Embed Badge

![Health badge](/badges/alhimik1986-yii2-js-view-module/health.svg)

```
[![Health](https://phpackages.com/badges/alhimik1986-yii2-js-view-module/health.svg)](https://phpackages.com/packages/alhimik1986-yii2-js-view-module)
```

###  Alternatives

[akiraz2/yii2-ticket-support

Yii2 Support Ticket Module, easy, flexible, fast

601.7k](/packages/akiraz2-yii2-ticket-support)[hiqdev/yii2-language

Yii2 module for language switching

1026.3k1](/packages/hiqdev-yii2-language)[vova07/yii2-start-comments-module

The comments module for Yii2-Start application.

149.5k1](/packages/vova07-yii2-start-comments-module)

PHPackages © 2026

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