PDA

View Full Version : تغییر مقدار date برای نمایش در actionAdmin



blue.web9
یک شنبه 16 فروردین 1394, 15:42 عصر
سلام...
تو actionView با این کد تایمستمپ به شمسی برای نمایش تبدیل میکنم..$user همون مدل که برای view ارسال میشه...



$user->create_time = jdate( 'Y / n / j - H:i:s' , $user->create_time);


ولی تو actionAdmin نمیدونم این تغییر برای همه رکورد ها چطور انجام بدم..
من تازه دارم با yii کار میکنم ، ممنون میشم راهنمایی کنید..

MMSHFE
سه شنبه 18 فروردین 1394, 09:50 صبح
این کد رو توی مسیر protected/components/ActiveRecord.php ذخیره کنید:

class ActiveRecord extends CActiveRecord
{
public function afterFind()
{
$this->create_time = jdate('Y / n / j - H:i:s', $this->create_time;
}
public function beforeSave()
{
list($date, $time) = array_map('trim', explode('-', $this->create_time));
list($year, $month, $day) = array_map('trim', explode('/', $date));
list($hour, $minute, $second) = array_map('trim', explode(':', $time));
$this->create_time = jmktime($hour, $minute, $second, $month, $day, $year);
}
}
حالا مدلهاتون رو بجای اینکه از CActiveRecord مشتق کنید، از ActiveRecord که خودتون نوشتین مشتق کنید.

blue.web9
چهارشنبه 19 فروردین 1394, 19:52 عصر
ممنون ، این مشکل حل شد.
حالا یه سری تغییرات هست میخوام فقط برای actionAdmin انجام بشه ، مثلا اگه status یوزر ۱ بود اون فیلد یا سطر سبز بشه ؟
کلا چطور میتونم ویجت که برای نمایش admin استفاده میشه تغییر بدم ؟

ویه سوال دیگه : اینکه فایل jdf.php تو vendors ریختم و داخل کانفیک هم وارد کردم ، حالا واسه اینکه همه جا در دسترسم باشه هم تو کنترولر اصلی (داخل کامپوننت) هم مدل اصلی ( داخل کامونتت) یه متد نوشتم که این فایل require بشه ...میخواستم بدونم این کارم درسته یا راه بهتری هم وجود داره ؟

MMSHFE
چهارشنبه 19 فروردین 1394, 20:29 عصر
توی هر تاپیک یک سؤال بیشتر نپرسین.