Yii2 urlManager

config/main.php dosyasında bulunan UrlMaanger componenti ile Yii projelerinizde görünen Url yapınızı biçimlendirebilirsiniz.
basit haliyle :

‘urlManager’ => [

‘enablePrettyUrl’ => true,
‘showScriptName’ => false,

],

Burada yaptıgımız işlemler;

‘enablePrettyUrl’ => true,

Pretty url yi etkinleştimek : sadece bu işlemi yaptıgınızda projenizde var olan linklere tıkladıgınızda “?r=site/about” şeklinde değil “/site/about” şeklinde yönlendirilmeye başladığını göreceksiniz.

ancak bazı yönlendirmeler hala çalışmıyor:

çözümü için “web/” dizininde yeni bir “.htaccess” dosyası oluştuyoruz.

ve içeriği:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)\?*$ index.php?r=$1 [L,QSA]

ve artık linklerimiz çalışıyor.

ancak id veya parametre içeren sayfalara gittiğinizde hala “/user/update?id=2” urller görüyoruz. Hadi bunları da yönlendirelim,

bunun için yine config/main.php dosyamıza gidelim ve rules kısmına;

‘urlManager’ => [
‘enablePrettyUrl’ => true,
‘showScriptName’ => false,
‘rules’ => [

&#8216;<controller:\w+>/<id:\d+>&#8216;=>&#8217;<controller>/view&#8217;,
&#8216;<controller:\w+>/<action:\w+>/<id:\d+>&#8216;=>&#8217;<controller>/<action>&#8216;,
&#8216;<controller:\w+>/<action:\w+>&#8216;=>&#8217;<controller>/<action>&#8216;,

],
],

şeklinde ekleyelim.

artık urllerimiz sağlıklı çalışıyor.

Yii2 image::watermark

Merhaba, Bu yazımızda yii2 de upload ettiğimiz görsellerin üstüne watermark görseli ekleme özelliğine değineceğiz.

Örnek kodlar:

$watermarkLogo=’../upload-dizini/logo/logo.png”;
$img=’../upload-dizini/gorsel-adi.png”;
$newImage = Image::watermark($img, $watermarkLogo, [50,50]);
//[50,50] Uygulacak watermark pozisyonu
$newImage->save(‘../../uploads/images/upload/yeni-resim.jpg’);

SweetAlert Confirm & Ajax Get Delete Confirm

swal({
title: ‘Bunu Galeriden Kaldırmak İstiyormusunuz?’,
text: ‘Görsel silinmeyecek saece galeriden kaldırılacak.’,
type: ‘warning’,
showCancelButton: true,
confirmButtonColor: ‘#3085d6’,
cancelButtonColor: ‘#d33’,
confirmButtonText: ‘Evet, Bunu Sil’,
cancelButtonText: ‘Hayır, Vazgeçtim’
}).then(function(isConfirm) {
if(isConfirm.value) {
var deleteId = id;
var request = $.ajax({
url: “?r=controller/deleteitem”,
type: “GET”,
data: {id: id},
dataType: “html”
});

request.done(function (msg) {
swal(
‘Silindi’,
‘Silme işlemi başarılı’,
‘success’
);
});

request.fail(function (jqXHR, textStatus) {
swal(
‘Silinemedi!’,
‘Silme işlemi gerçekleştirilemedi! Hata:’ + textStatus,
‘success’
);
});
}else{
swal(“İşlem iptal edildi”);
}

})

Yii2 Notlarım

Yii2

DetailView widget Html value

[
‘label’ => $model->getAttributeLabel(“status”),
‘value’ => function ($model) {
if ($model->status== 1) {
return Html::a(Yii::t(‘app’, ‘AKTİF’), [‘Site/index’, ‘id’ => $model->id], [‘class’ => ‘btn btn-success’]);
} else {
return Html::a(Yii::t(‘app’, ‘PASİF’), [‘Site/index’, ‘id’ => $model->id], [‘class’ => ‘btn btn-danger’]);
}
},
‘format’ => ‘html’,
],

Devamı