4月 172014
 
LINEで送る

YiiのGridViewで1ページ内に表示するデータ数を変更したいなぁと探していたところ、いい方法を見つけました。

http://www.yiiframework.com/forum/index.php/topic/11498-cgridview-and-pagesize/page__view__findpost__p__74111

ただ動かすには、上記の他にconfig/main.phpに

'params'=>array(
 'defaultPageSize' => 10 //デフォルトの表示数
 ),

を追加する必要があります。
また、Viewでのセレクトボックスを表示する

'header'=>CHtml::dropDownList('pageSize',$pageSize,array(10=>10,20=>20,50=>50,100=>100),array(
 'onchange'=>"$.fn.yiiGridView.update('file-grid',{ data:{pageSize: $(this).val() }})",

の部分をコピペして利用する場合は、「file-grid」の部分がGridViewで指定しているidの値に一致している必要があります。

 Posted by at 2:14 PM  Tagged with:

Yiistrapのgiiのモデルのテンプレートを修正するには

 php  コメントは受け付けていません。
4月 172014
 
LINEで送る

Yiistrapのgiiでは、モデルを作成する際にYiiのデフォルトのテンプレートを利用するようになっています。これを変更したい場合、Yiistrapがextensions/yiistrapに入っている場合、extensions/yiistrap/gii以下にmodel/templates/default/model.phpを新規に作成するとよいです。

 Posted by at 1:44 PM  Tagged with:
4月 142014
 
LINEで送る

Yiiのモデルで、カラムがユニークかどうかをチェックするには

public function rules()
{
  return array(
    array('name', 'unique'),
  );
}

のようにします。例えば、上記のnameとmaker_idでユニークかどうか
をチェックする場合、

public function rules()
{
  return array(
    array('name', 'unique', 'criteria'=>array(
      'condition'=>'maker_id=:maker_id',
      'params'=>array(':maker_id'=>$this->maker_id)))
  );
}

のようにします。

 Posted by at 3:37 PM  Tagged with: