PDA

View Full Version : مشکل در Cgridview



mahmod2000
سه شنبه 01 بهمن 1392, 09:55 صبح
سلام
من به یک مشکلی در این ویجت برخردم

این کدم من هستش:



array(
'class' => 'CButtonColumn',
'template'=>'{update}{delete}{active}{notactive}',
'buttons'=>array(
'active'=>array(
'url'=>'"javascript:void(0)"',
'label'=>'Active',
'imageUrl'=>Yii::app()->baseUrl.'/img/active.png',
'options'=>array("id"=>"column_GridView","class"=>'$data->id'),
'click'=>'js: active($data->id)',
'visible'=>'$data->published == 0',

),

مشکل من اینه که $data->published در visible به خوبی کار میکنه
ولی هرکاری میکنم کلاس برای دکمه مورد نظر تعریف میکنم با $data->id اصلا مقدار بهم نمیده
حتی توی active($data->id) هم بهم مقدار نمیده
یعنی خود کلمه $data->id رو واسم چاپ میکنه به جای آی دی مورد نظر
ممنون میشم راهنمایی کنید

MMSHFE
چهارشنبه 02 بهمن 1392, 02:41 صبح
خوب دوست عزیز، Yii که قرار نیست اصول PHP رو عوض کنه. از متغیر توی کوتیشن تک چه انتظاری دارین؟ اینطوری بنویسید ببینید درست میشه؟


array(
'class' => 'CButtonColumn',
'template'=>'{update}{delete}{active}{notactive}',
'buttons'=>array(
'active'=>array(
'url'=>'javascript:void(0);',
'label'=>'Active',
'imageUrl'=>Yii::app()->baseUrl.'/img/active.png',
'options'=>array('id'=>'column_GridView','class'=>$data->id),
'click'=>'js: active(' . $data->id . ')',
'visible'=>!$data->published,
),
),
),

mahmod2000
چهارشنبه 02 بهمن 1392, 08:29 صبح
استاد من هرکاری که بگید انجام دادم

به این صورت هم میزنم میگه $data پیدا نمیشه

از $model که با رندر فرستادم هم استفاده میکنم اونم میگه not defined

طبق اصول خود Yii نگاه کردم و جلو رفتم
ولی جواب نمیده

البته کارمو با یه روش دیگه جلو بردم فعلا، ولی بفهمیم مشکلش کجاست خوبه

MMSHFE
چهارشنبه 02 بهمن 1392, 10:10 صبح
data$ رو مقداردهی کردین موقع رندر view ؟

$this->render('view', array('data'=>Users::model()->findAll()));

mahmod2000
چهارشنبه 02 بهمن 1392, 10:46 صبح
چون در CGridView استفاده میکنم پس یک متغیر از کنترلر به ویو مورد نظر فرستادم به اسم $model
حالا اینجایی که بهتون گفتم، هم model رو نمیشناسه هم data خود گرید ویو رو

ولی شاید یک متغیر دیگه همونطور که شما گفتید تعریف کنم احتمالا جواب بده. یعنی 2 تا متغیر بفرستم به CGridView

MMSHFE
چهارشنبه 02 بهمن 1392, 21:38 عصر
کد کامل View رو بگذارین. منظورم اینه که کد فایلی که این آرایه رو داخلش تعریف کردین، بطور کامل بگذارین.