• 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
تغییر پیش فرض استایل دکمه های CbuttonColumnn در CGridView
#1
سلام.
من در پروژه ام از CgridView استفاده کردم و در این گریدویوها هم اومدم از ساختار CbuttonColumn خود گریدویو استفاده کردم برای انجام عملیات ویرایش و حذف.
سوالم اینجاست که من نمیخوام از ساختار پیشفرض استایل اون دکمه ها استفاده کنم و اومدم توی فرمم به طور مثال به این شکل کار کردم.
کد پی‌اچ‌پی:
array(
            
'class'=>'CButtonColumn',
            
'template'=>'{update}{delete}',
            
'buttons'=>array(
                        
'update'=>array(
                            
'label'=>'<span class="btn default btn-sm blue"><i class="fa fa-edit"></i>  ویرایش</span>',
                            
'imageUrl'=>false,
                            
'options'=>array('title'=>'ویرایش'),
                        ),
                        
'delete'=>array(
                            
'label'=>'<span class="btn default btn-sm red"><i class="fa fa-trash-o"></i>  حذف</span>',
                            
'imageUrl'=>false,
                            
'options'=>array('title'=>'حذف'),
                        ),
                    )
            ), 

با توجه به اینکه فرم هام زیادن نمیخوام توی هر فرم مثلا کد دکمه ویرایشم این چند خط باشه و میخوام یک جا تعریف کنم و هر موقع خواست دکمه ویرایش رو بزاره این کد رو بخونه برای استایل ویرایش نه کد پیشفرض خود Yii رو. چیکار باید کنم؟
بنده طعم ايمان را نمي چشد، تا اينكه دريابد آنچه اتفاق نيفتاده است نمي شد كه اتفاق بيفتد؛و آنچه شده و اتفاق افتاده است,نمي شد كه نشود و اتفاق نيفتد....حضرت علي(ع)
  پاسخ
تشکر شده توسط :
#2
سلام به نظر من مطمئناً با توسعه ی کلاس CButtonColumn.php میتونید انجام بدید. کدهای این کلاس رو دیدید؟ یه نگاه بندازید متوجه میشید سادست.
https://github.com/yiisoft/yii/blob/1.1....Column.php
  پاسخ
تشکر شده توسط :
#3
آره اینکارو میدونم. اما خب شما در نظر بگیر من توی پوشه Localhostام توی سیستمم کلا یه دونه Yii دارم و از هسته ی اون دارم استفاده میکنم توی پروژه هایی که با Yii مینویسم. و هر کدوم اونا بهرحال قالب و ساختار خودشونو ممکنه داشته باشن. و اگه اینکارو کنم توی همه ی اون پروژه ها اعمال میشه و من اینو نمیخوام. صرفا توی یک پروژه ی خاص میخوام اینکارو کنم.
بنده طعم ايمان را نمي چشد، تا اينكه دريابد آنچه اتفاق نيفتاده است نمي شد كه اتفاق بيفتد؛و آنچه شده و اتفاق افتاده است,نمي شد كه نشود و اتفاق نيفتد....حضرت علي(ع)
  پاسخ
تشکر شده توسط :
#4
منظورم اینه:
کد پی‌اچ‌پی:
class CustomCButtonColumn extends CButtonColumn
{
// Your custom code

متوجه شدید؟!
  پاسخ
تشکر شده توسط :
#5
خب اینو کجا باید تعریف کنم؟ Big Grin
بنده طعم ايمان را نمي چشد، تا اينكه دريابد آنچه اتفاق نيفتاده است نمي شد كه اتفاق بيفتد؛و آنچه شده و اتفاق افتاده است,نمي شد كه نشود و اتفاق نيفتد....حضرت علي(ع)
  پاسخ
تشکر شده توسط :
#6
چون کلاسهای /protected/components به صورت پیش فرض ایمپورت میشن میتونین اینجا تعریف کنید. یا هر جا که کلاس رو تعریف کردید باید ایمپورت کنید. تو همون صفحه ی ویو هم میتونید ایمپورت کنید اما . . .
  پاسخ
تشکر شده توسط :
#7
یعنی من یه کامپوننت ایجاد کنم توی اون مسیر و برای دکمه های عملیاتی گریدویوهام اونو صدا بزنم درسته؟Blush
بنده طعم ايمان را نمي چشد، تا اينكه دريابد آنچه اتفاق نيفتاده است نمي شد كه اتفاق بيفتد؛و آنچه شده و اتفاق افتاده است,نمي شد كه نشود و اتفاق نيفتد....حضرت علي(ع)
  پاسخ
تشکر شده توسط :
#8
(۱۳۹۳ اسفند ۰۵, ۱۲:۴۷ ب.ظ)webnevesht نوشته: یعنی من یه کامپوننت ایجاد کنم توی اون مسیر و برای دکمه های عملیاتی گریدویوهام اونو صدا بزنم درسته؟Blush
بله درسته
  پاسخ
تشکر شده توسط :


پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان