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’);

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ı