رتبه موضوع:
  • 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
گرفتن attributeLabel به صورت استاتیک
#1
سلام دوستان
این اولین پست بنده هست. راه اندازی این انجمن رو به همه دوستان تبریک عرض می کنم، و یه تشکر ویژه از آقای شهرکی به خاطر فعالیت مفیدشون توی زمینه های مفید برنامه نویسی

یه سوال داشتم:
چطوری می تونم attributeLable ها رو به صورت استاتیک بگیرم
نمی خوام یه تابع استاتیک مثل attributeLabel ایجاد کنم و مقدار هارو بگیرم، چون اینطوری مجبورم هرجی توی attributeLabels می ذارم توی نوع استاتیکش هم کپی کنم

ممنون
no pain, no gain
پاسخ
تشکر شده توسط: meysam1366
#2
منظورتون رو متوجه نمیشم از اینکه میگین استاتیک. بهرحال باید متدی داشته باشین به اسم attributeLabels و هرجا خواستین برچسب هر فیلدی رو بگیرین از این کد استفاده کنید:
$model->getAttributeLabel('username')
و بجای username اسم فیلد موردنظرتون رو بنویسید.
پاسخ
تشکر شده توسط: abdollah110110
#3
(07-03-1394، 06:38 ب.ظ)ADMIN نوشته: منظورتون رو متوجه نمیشم از اینکه میگین استاتیک. بهرحال باید متدی داشته باشین به اسم attributeLabels و هرجا خواستین برچسب هر فیلدی رو بگیرین از این کد استفاده کنید:

$model->getAttributeLabel('username')
و بجای username اسم فیلد موردنظرتون رو بنویسید.

نه می خوام استاتیک باشه

مدلی که دارم آرایه ای از مدل هاست که داخل یه تیبل از foreach استفاده کردم ازش ولی باری قسمت head جدول می خوام از خود attribute label ها استفاده کنم
چیزی که زدم این هست، ولی گفتم شاید خود yii همچین چیزی داشته باشه

public static function labels()
{
   return (new static)->attributeLabels();
}


درخواست هایی در مورد انجمن داشته باشیم باید کجا بگیم؟
برای شروع می خواستم اگه می شه موقع ای که داریم زیر یه پست جواب می دیم تگ های کد های برنامه نویسی هم باشه مجبور نباشیم دکمه پاسخ رو بزنیم
ممنون
no pain, no gain
پاسخ
تشکر شده توسط:
#4
درمورد انجمن توی بخش گفتگو درباره سایت تاپیک بزنید. البته فعلا تغییری توی ساختارش ایجاد نمیشه. این پایین نوشته پاسخ سریع و کارش همینه. اگه ادیتور کامل رو میخواین روی پاسخ جدید در بالای کادر پاسخ جدید کلیک کنید.
پاسخ
تشکر شده توسط:
#5
درمورد مشکلتون هم باید بگم خیر، چنین چیزی توکار نیست و درصورت نیاز میتونید خودتون اضافه کنید. علت اینکه میخواین استاتیک باشه رو نمیدونم چون بنظرم منطقی نمیاد. همیشه فرمها با یک آبجکت از مدل کار میکنن.
پاسخ
تشکر شده توسط:
#6
public static function labels()
{
   return (new static)->attributeLabels();
} 

این کد رو سعی کردم به خود کلاس  yiidbActiveRecord اضافه کنم ولی هیچ خروجی نداشت
چطوری می شه همچین کاری کرد؟
no pain, no gain
پاسخ
تشکر شده توسط:
#7
فکر نمیکنم منطقی باشه که کلاسهای خود فریمورک رو تغییر بدین. یکی از این کلاس توی پروژه خودتون extend کنید و اونجا تغییرات دلخواه رو اعمال کنید. مدلهاتون رو هم از کلاس خودتون مشتق کنید.
پاسخ
تشکر شده توسط:
#8
(09-03-1394، 03:02 ب.ظ)ADMIN نوشته: فکر نمیکنم منطقی باشه که کلاسهای خود فریمورک رو تغییر بدین. یکی از این کلاس توی پروژه خودتون extend کنید و اونجا تغییرات دلخواه رو اعمال کنید. مدلهاتون رو هم از کلاس خودتون مشتق کنید.

باشه ولی اینکه کار نمی کنه نمی دونید مشکلش چیه؟
no pain, no gain
پاسخ
تشکر شده توسط:
#9
نمیدونم والا. شاید توی پروژه شما از YiiLite داره استفاده میشه.
پاسخ
تشکر شده توسط:




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