ویجت jalali date picker

[rtl]

سلام

یه ویجت برای انتخاب تاریخ شمسی نوشتم گفتم شیرش کنم شاید به درد بقیه هم بخوره.

[/rtl]

http://www.yiiframework.com/extension/jalalidatepicker/

[font="Tahoma"][rtl][/font]

[font="Tahoma"]خیلی جالب بود

ممنون

[/rtl][/font]

[rtl]

سعی می کنم بهترش کنم و نسخه های جدیدش رو تو همین تاپیک میزارم

[/rtl]

[font="Tahoma"] [rtl]

با تشکر از ناصر

منم برای ذخیره تاریخ شمسی در بانک اطلاعاتی یا جاهای دیگه از یک کامپوننت که نوشتم استفاده می کنم. چون اینم مربوط به تاریخ بود اینجا می ذارمش نحوه استفاده

فایل ضمیمه را توی پوشه \protected\components ذخیره می کنیم

توی config برنامه کد زیر رو قرار می دیم

[/font][left][/rtl]




	// application components

	'components'=>array(

	.......

   	'pdate'=>array( 'class'=>'pdate', ),




[rtl]حالا هر جای برنامه که خواستیم مثلا در مدل می تونیم با فراخوانی تابع ptoday تاریخ امروز رو به شمسی داشته باشیم مثل :

[/left][font="Tahoma"][/rtl]




	public function beforeValidate()

	{

  		$this->reg_date = Yii::app()->pdate->ptoday();

 	}



[/font]

[rtl]

به صفحه extension ها اضافه شد با یک سری تغییرات در کد

[/rtl]

http://www.yiiframework.com/extension/jalalidatepicker/

ممنون

[right]سلام دوست عزیز. این تاریخ شمسی زمانی که دو تا همزمان در یک فرم استفاده میشه به مشکل برمیخوره، فکر میکنم مشکل از نام و آیدی ویجت ها باشه که هردفعه یکی ست میشه. راه حلی برای رفع این مشکل دارید؟[/right]

سلام

من برای آپدیت کردن فیلد با استفاده از همین ویجت دچار مشکل شدم ، مدل رو هم پاس میکنم ولی بازم کار نکرد ، اگه کسی به این مورد برخورد کرده ، راهنماییم کنه

مرسی

[rtl]

داخل مدلتوم فیلد تاریخ رو unsafe تعریف کنید احتملا مشکل حل میشه مثل :

[/rtl]




array('dateField', 'unsafe')



too save kardan ham moshkel dare , bayad beshe model ro behesh dad ke attribute oon ro set kone vali nemishe :-?

too CJuiDatePicker be rahati model ro ham mifrestim khodesham dorostesh mikone ama inja nemishe :(

[rtl]

داخل پوشه protected یک پوشه با نام widgets ایجاد می کنید و کدهای ویجت رو اونجا اکسترکت می کنید

هدر فرمتون باید این شکلی باشه

[/rtl]




<?php $form=$this->beginWidget('CActiveForm', array(

	'id'=>'report-form',

	'enableAjaxValidation'=>false,

     'htmlOptions' => array('enctype' => 'multipart/form-data'),

)); ?>




[rtl]

و فیلدی که قراره تاریخ رو بگیره به شکل زیر

[/rtl]




	<div class="row">

		<?php echo $form->labelEx($model,'reg_date'); ?>

		<?php  

		echo $form->textField($model,'reg_date',array('size'=>10,'maxlength'=>10, 'id'=>'reg_date');

			$this->widget('application.widgets.JalaliDatePicker.JalaliDatePicker',array('textField'=>'reg_date',   	

			'options'=>array(

					'changeMonth'=>'true',

					'changeYear'=>'true',

					'showButtonPanel'=>'true',

			)

		));	

		?>

		<?php echo $form->error($model,'reg_date'); ?>

	</div>



[rtl]

داخل کنترلرتونم موقع درخواست اکشن Create حالت AJAX رو غیر فعال کنید

یک نکته مهم هم اینه که باید ببینید datatype فیلدتون توی بانک اطلاعاتی چی هست

اگز date باشه باید فرمت نمایش ویجت رو تغییر بدید تا با حالت تاریخ سیستم بخونه (کاری که من انجام دادم)

و اگر text هستش نیازی به تغییر نداره

فکر کنم مشکل شما همین قسمت آخر باشه

[/rtl]

mamnoon

[rtl]

سلام

همونطور که تو صفحه مربوط به ویجت گفتم. این مشکل حل شده

[/rtl]

[rtl]

سلام

اولا اگه ممکنه فارسی تایپ کنید تا راحتتر بشه پستتون رو خوند

شما اگه به مثالهاش نگاه کنی من نحوه ارسال مدل رو هم نشون دادم

[/rtl]

[rtl]

بله، دیدم، ممنون از کمکتون

الان دیگه فقط مشکل هماهنگیش با بقیه ویجت ها مونده که چون jquery بلد نیستم ایده ای از این قضیه ندارم!

[/rtl]

دررووود

وقتی از bootstrap دارم استفاده میکنم، همراه با ویجت شما،

ویجت شما نمایش داده نمیشه.

مشکل چطوری حل میشه؟

سپاس