yii2 gridview de satırları özelleştirme

Yii2 içerisinde Gridview içine aşağıdaki gibi bir kod bloğu eklenerek istenilen şekilde satırlarımızda renklendirme yada özelleştirme sağlanabilir. GridView::widget([ ‘dataProvider’ => $dataProvider, ‘filterModel’ => $searchModel, ‘rowOptions’=>function($model){      if ($model->randevu_onayi==’Bekliyor’) {           return [‘class’=>’danger’];      }else {           return [‘class’=>’success’];      } }, ‘columns’ => […

Yii2 RBAC Rol tabanlı giriş

Bu yapının kullanılması için gerekli veritabanı sql dosyasını vendor/yiisoft/yii2/rbac/migrations klasöründe farklı veritabanları için bulabilirsiniz. Buradan tablolar oluşturulabilir. daha sonra cakend/config/main.php içerisine aşağıdaki kod bloğu eklenerek veritabanındaki tablolara erişim sağlanır. ‘authManager’=>[ ‘class’=>’yii\rbac\DbManager’, ‘defaultRoles’=>[‘guest’], ] veritabanında ise resimlerdeki gibi gerekli yetkilendirilmeler yapıldığında ccontroller dosyasında yetki verilecek işlem actionın başına if (Yii::$app->user->can(‘create-randevu-birim’)) { kontrolü getirilir.   create işlemini… Okumaya devam et Yii2 RBAC Rol tabanlı giriş

Yii projesi içinde ki PhpMailer 5.2.21 güncelleme

Php üzerinde kullanılan phpmailer sistemlerinde 5.2.18 versiyonundan eski olan versiyonlarda uzaktan kod çalıştırılabilmesine olanak sağlayan bir açıklık olduğu tespit edilmesiyle birlikte 5.2.20 versiyonuna güncellenmesi ihtiyacı doğdu. Ertesi gün aynı açığın 5.2.20 versiyonunda da olduğu açıklandı ve 5.2.21 versiyonuna güncellenmesi gerektiği açıklandı. Bunun için bu yazımda yii projemizde kullandığımız phpmailer paketini güncelleme işlemini göstereceğim. Açıklarla ilgili yazılara… Okumaya devam et Yii projesi içinde ki PhpMailer 5.2.21 güncelleme

Yii2 servera dosya yüklemek

veritabanında varchar olarak alan tanımlanmış durumdayken. model dosyası içine public $file; şeklinde değişken tanımladık. rules fonksiyonu içine aşağıdaki şekilde tanımlamayı ekliyoruz. [[‘file’],’file’,’skiponEmpty’=>false,’extensions’=>’pdf’], daha sonra view kısmında <?php $form = ActiveForm::begin([‘options’=>[‘enctype’=>’multipart/form-data’]]); ?> şeklinde bir düzenleme yapıyoruz. ve file için alan açıyoruz. <?= $form->field($model, ‘file’)->fileInput() ?> şimdi controller tarafında kodlamaya geçebiliriz. create fonksiyonunu aşağıdaki şekilde güncelliyoruz. (tabi bu… Okumaya devam et Yii2 servera dosya yüklemek

Yii2 gridview de search işlemini ajax ile yapma

view dosyasına use yii\widgets\Pjax; kodunu ekliyoruz. daha sonra gridview nesnesinin başına Pjax::begin() derken sonuna ise Pjax::end() diyoruz. aşağıdaki şekilde düzenlememiz gerekiyor. <?php Pjax::begin(); ?> <?= GridView::widget([ ‘dataProvider’ => $dataProvider, ‘filterModel’ => $searchModel, ‘columns’ => [ [‘class’ => ‘yii\grid\SerialColumn’], // ‘id’, // ‘user.username’, [ ‘attribute’=>’useradi’, ‘format’=>’raw’, ‘value’=>function ($data) { return yardimci::userisimbirlestir($data->userid); }, ], [ ‘attribute’=>’userid’, ‘format’=>’raw’,… Okumaya devam et Yii2 gridview de search işlemini ajax ile yapma

Yii2 gridview filtrelemede datetimepicker kullanımı

Gridview filtrelemesinde datetimepicker kullanmak istediğimiz durumda kullanacağımız kolon yerine view dosyası içerisinde ilgili kolonu aşağıdaki gibi düzenliyoruz. [ ‘attribute’=>’randevu_tarihi’, ‘format’=>’raw’, ‘value’=>function ($data)   {    return yardimci::mysql_sadecetarihini_arayüze_cevir($data->randevu_tarihi);   },   ‘filter’=> DatePicker::widget([    ‘model’ => $searchModel,    ‘attribute’ => ‘randevu_tarihi’,    ‘language’ => ‘tr’,    ‘template’ => ‘{addon}{input}’,    ‘clientOptions’ => [    ‘autoclose’ =>… Okumaya devam et Yii2 gridview filtrelemede datetimepicker kullanımı

Yii2 otomatik doldurma (autosuggest) kullanımı

Sayfalarımızda dropdownlist yerine olan select2 eklentinsini kullanarak daha kullanışlı ve görsel bir yapı oluşturabiliriz. Bunun için https://github.com/kartik-v/yii2-widget-select2 linkinden gerekli widget incelenebilir. Bunun için proje dizinine gelinir ve aşağıdaki komutla kurulum gerçekleştirilir. composer require kartik-v/yii2-widget-select2 “@dev” view dosyasında aşağıdaki eklemeler yapılarak kullanımı sağlanır. use kartik\select2\Select2; … <?= $form->field($model, ‘randevu_birimi’)->widget(Select2::classname(), [ ‘data’ => ArrayHelper::map(RandevuBirimler::find()->all(),’id’,’birim_adi’), ‘language’ => ‘tr’, ‘options’… Okumaya devam et Yii2 otomatik doldurma (autosuggest) kullanımı

Yii2 bootstrap datepicker kullanımı

Çok işimize yarayacak olan datetimepicker elemanının bootstrap uyumlu hali için kullanılacak eklentiye https://github.com/2amigos/yii2-date-picker-widget adresinden ulaşabilirsiniz. Eklentinin kurulumu için terminalimizi açıyoruz ve projemizin dizinine geliyoruz ve aşağıdaki kodu çalıştırıyoruz. composer require 2amigos/yii2-date-picker-widget:~1.0 Bu komutla birlikte composer bize kurulumu gerçekleştiriyor. Tabi bu komut için composer ın kurulu olması gerekiyor. Eğer kurulu değil ise bu yazımdan kurulumu sağlayabilirisiniz.  Daha sonra view… Okumaya devam et Yii2 bootstrap datepicker kullanımı

Yii2 relation kullanımı

Veri tabanında ki tablolar arası ilişkileri gii üzerinden oluşturduğumuz crud yapısı otomatik olarak model dosyalarına tanımlayacaktır. User tablosuyla ilişkisi olan herhangi bir tablonun listelemesinde relation kullanımı aşağıdaki gibi olacaktır. model dosyası içerisindeki ilişki tanımı aşağıdaki gibidir. getUser bize ilişkiyi kullanacağımız adı vermektedir. public function getUser() { return $this->hasOne(User::className(), [‘id’ => ‘userid’]); } Gridview içeresinde userid… Okumaya devam et Yii2 relation kullanımı