Yii2 삭제 확인 대화 상자를 괄호로 설정합니다.
6484 단어 Yii
confirm()
도 더 멋있고 싶었다.그래서 Bootbox는 그것을 다시 쓴다.프레임에서 찾아낸
yii.js
에 이렇게 쓰여 있다./**
* Displays a confirmation dialog.
* The default implementation simply displays a js confirmation dialog.
* You may override this by setting `yii.confirm`.
* @param message the confirmation message.
* @param ok a callback to be called when the user confirms the message
* @param cancel a callback to be called when the user cancels the confirmation
*/
confirm: function (message, ok, cancel) {
if (confirm(message)) {
!ok || ok();
} else {
!cancel || cancel();
}
},
아이구You may override this by setting yii.confirm
대박이다.해봐.
composer.json
중 추가bower
의bootbox
.아시다시피 Yii2에서 Compooser를 사용하면 Packagist부터 설치할 수 있을 뿐만 아니라 bower와 npm에서도 설치할 수 있습니다.{
"require": {
"php": ">=5.4.0",
...略
"bower-asset/bootbox": "~4.3.0"
},
}
다른 프로젝트에서도 사용할 수 있도록 Bootbox용 자산 정의<?php
namespace app\assets;
use Yii;
use yii\web\AssetBundle;
class BootboxAsset extends AssetBundle
{
public $sourcePath = '@vendor/bower/bootbox';
public $js = [
'bootbox.js',
];
}
그거app\assets\AppAsset
추가를 항상 미리 넣었으면 해서요.namespace app\assets;
use yii\web\AssetBundle;
class AppAsset extends AssetBundle
{
// ... 略
public $depends = [
'yii\web\YiiAsset',
'yii\bootstrap\BootstrapAsset',
'app\assets\BootboxAsset', // ここ
];
}
지금까지 기본적으로 모든 페이지가 있다bootbox.js
.드디어 표준 확인 대화상자를 덮어씁니다.예를 들면 이런 실복은 어때요?
class BootboxAsset extends AssetBundle
{
// ... 略
public static function overrideSystemConfirm()
{
Yii::$app->view->registerJs('
yii.confirm = function(message, ok, cancel) {
bootbox.confirm(message, function(result) {
if (result) { !ok || ok(); } else { !cancel || cancel(); }
});
}
');
}
}
이처럼 JS를 등록할 수 있는 방법을 미리 만들어 views/layouts/main.php
근처 이곳에서부터 이렇게 만들었다.<?php
// ... 略
AppAsset::register($this);
BootboxAsset::overrideSystemConfirm(); // これ (もしかしたら $this 渡したほうが...?)
?>
<!DOCTYPE html>
좋아!
즉
yii.confirm
를 자신의 함수로 바꿀 뿐이다.하지만 Yii의 자산 브로커를 이용하면 기분이 좋은 곳에서 투명해지기 때문에 아무 것도 신경 쓰지 않아도 된다.아이고, 이게 가능할 때 제출 어디서 본 이름이야.
Reference
이 문제에 관하여(Yii2 삭제 확인 대화 상자를 괄호로 설정합니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/tanakahisateru/items/be28b7bed4566ce8fa99텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)