phpNT - Bootstrap Notify
ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅:
ΠΡΠ²ΠΎΠ΄ΠΈΡ Π°Π½ΠΈΠΌΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΡ.
Π‘ΠΎΡΠΈΠ°Π»ΡΠ½ΡΠ΅ ΡΠ΅ΡΠΈ:
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ°:, (*1)
php composer.phar require "phpnt/bootstrap-notify" "*"
ΠΈΠ»ΠΈ, (*2)
composer require phpnt/bootstrap-notify
ΠΈΠ»ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π² composer.json ΡΠ°ΠΉΠ», (*3)
"phpnt/bootstrap-notify": "*"
### ΠΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ:
...
public function actionBootstrapNotify()
{
// Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΡ Ρ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΡΠΌΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ
\Yii::$app->session->set(
'message',
[
'type' => 'success',
'message' => 'Π‘ΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅',
]
);
// Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΡ Ρ ΡΠ°ΡΡΠΈΡΠ΅Π½Π½ΡΠΌΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ
\Yii::$app->session->set(
'message',
[
'type' => 'info', // ΠΊΠ»Π°ΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ (success, info, warning, danger)
'icon' => 'glyphicon glyphicon-ok', // ΠΊΠ°ΡΡΠΈΠ½ΠΊΠ° ΠΏΠ΅ΡΠ΅Π΄ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ΠΌ, ΡΠΈΠΏ ΡΠΌΠΎΡΡΠΈΠΌ Π½ΠΈΠΆΠ΅
'icon_type' => 'class', // ΡΠΈΠΏ ΠΈΠΊΠΎΠ½ΠΊΠΈ Π² Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΡΠΎ ΠΊΠ»Π°ΡΡ bootstrap ΠΈΠΊΠΎΠ½ΠΊΠΈ,
// Π΄Π»Ρ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠΈ image, Π° Π² icon ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌ ΠΏΡΡΡ Π΄ΠΎ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠΈ
'title' => '<strong style="margin-left: 10px;">Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ</strong>', // Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ
'message' => 'Π‘ΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅', // ΡΠ΅ΠΊΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ
'element' => 'body', // ΠΊ ΠΊΠ°ΠΊΠΎΠΌΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠ΅
'position' => 'absolute', // ΠΏΠΎΠ·ΠΈΡΠΈΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ° ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° (static | fixed | relative | absolute)
'allow_dismiss' => '0', // ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π·Π°ΠΊΡΡΠ²Π°ΡΡ ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠ΅ (1 - Π΄Π°, 0 - Π½Π΅Ρ)
'newest_on_top' => '0', // Π½ΠΎΠ²ΠΎΠ΅ ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠ΅ Π·Π°ΠΌΠ΅Π½ΡΠ΅Ρ ΡΡΠ°ΡΠΎΠ΅ (1 - Π΄Π°, 0 - Π½Π΅Ρ)
'showProgressbar' => '0', // ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡ ΠΏΡΠΎΠ³ΡΠ΅ΡΡ Π±Π°Ρ (1 - Π΄Π°, 0 - Π½Π΅Ρ)
'url' => 'http://phpnt.com/', // ΡΡΡΠ»ΠΊΠ°
'target' => '_blank', // target ΡΡΡΠ»ΠΊΠΈ
'placement_from' => 'bottom', // ΠΏΠΎΠ·ΠΈΡΠΈΡ ΠΏΠΎ Π²Π΅ΡΡΠΈΠΊΠ°Π»ΠΈ (top ΠΈΠ»ΠΈ bottom)
'placement_align' => 'center', // ΠΏΠΎΠ·ΠΈΡΠΈΡ ΠΏΠΎ Π³ΠΎΡΠΈΠ·ΠΎΠ½ΡΠ°Π»ΠΈ (left, center ΠΈΠ»ΠΈ right)
'offset' => 20, // ΡΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΎΡ ΡΠ²ΠΎΠΉΡΡΠ²Π° placement_align (Π΅ΡΠ»ΠΈ left - ΡΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΎΡ Π»Π΅Π²ΠΎΠ³ΠΎ ΠΊΡΠ°Ρ)
'offset_x' => 20, // ΡΠ°ΡΡΠΎΡΠ½ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌΠΈ ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠΉ ΠΏΠΎ ΠΎΡΠΈ x Π² ΠΏΠΈΡΠ΅Π»ΡΡ
'offset_y' => 20, // ΡΠ°ΡΡΠΎΡΠ½ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌΠΈ ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠΉ ΠΏΠΎ ΠΎΡΠΈ y Π² ΠΏΠΈΡΠ΅Π»ΡΡ
'spacing' => 20, // ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ Π±Π»ΠΎΠΊΠ°ΠΌΠΈ
'z_index' => 1031, // z-index
'delay' => 5000, // Π²ΡΠ΅ΠΌΡ ΠΏΠΎΠΊΠ°Π·Π° ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΡ
'animate_enter' => 'animated fadeIn', // Π°Π½ΠΈΠΌΠ°ΡΠΈΡ Π΄Π»Ρ Π½Π°ΡΠ°Π»Π° ΠΏΠΎΠΊΠ°Π·Π°
'animate_exit' => 'animated fadeOut', // Π°Π½ΠΈΠΌΠ°ΡΠΈΡ Π΄Π»Ρ ΠΊΠΎΠ½ΡΠ° ΠΏΠΎΠΊΠ°Π·Π°
'template' => '<div data-notify="container" class="col-xs-11 col-sm-3 alert alert-{0}" role="alert"><button type="button" aria-hidden="true" class="close" data-notify="dismiss">Γ</button><span data-notify="icon"></span><span data-notify="title">{1}</span><span data-notify="message">{2}</span><div class="progress" data-notify="progressbar"><div class="progress-bar progress-bar-{0}" role="progressbar" aria-valuenow="0" aria-valuemin="0" aria-valuemax="100" style="width: 0%;"></div></div><a href="{3}" target="{4}" data-notify="url"></a></div>',
// ΡΠ°Π±Π»ΠΎΠ½ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ, Π·Π΄Π΅ΡΡ {0} = type, {1} = title, {2} = message, {3} = url, {4} = target
]
);
return $this->render('bootstrap-notify');
}
### ΠΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅:
<?php
use phpnt\bootstrapNotify\BootstrapNotify;
?>
<?= BootstrapNotify::widget(); // ΠΡΠ²ΠΎΠ΄ ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΡ ?>
ΠΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ (ΠΏΡΠΈΠΌΠ΅ΡΡ):
ΠΠ΅ΡΡΠΈΡ:
### 0.0.1
ΠΠΈΡΠ΅Π½Π·ΠΈΡ: