راهکار جامع برای Date Picker شمسی

tparkk

تازه وارد
7/8/16
9
0
1
درود

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

دوم اینکه در حال آماده سازی یک سیستم رزرواسیون بر پایه ووکامرس هستم و بیش از 80% شمسی سازی ها رو انجام دادم، حتی Datepicker ها هم درست کار می کنن و تاریخ شمسی نشون میدن و انتخاب می کنن.

ولی مشکل اینجاست که همینطور که میدونید فیلد تاریخ Datepicker ووکامرس با تاریخ شمسی کار نمیکنه، و باید تاریخ میلادی ذخیره بشه.

در حال حاضر هم در پنل مدیریت و هم در فرم رزرواسیون، تاریخ به صورت صحیح و شمسی نمایش داده میشه و کاربر میتونه تاریخ رو از Datepicker شمسی انتخاب کنه، ولی مثلا اگر یک رویداد با تاریخ (1395/05/17) ایجاد کنیم، سیستم قابلیت تشخیص این تاریخ رو نداره و میگه که رویداد منقضی شده و امکان رزور فراهم نیست، و اگر تاریخ رو در فیلد مربوطه به صورت دستی به میلادی وارد کنیم (برای مثال:2016/08/05 - در Datepicker به صورت 17 مرداد سال 2016 هجری شمسی نشون داده خواهد شد). سیستم بدون ایراد کار میکنه، البته رویدادها رو برای 691 سال بعد نمایش میده.

حالا راهکار پیشنهادی که به ذهنم میرسه:

  1. تاریخ از یک فیلد به دو فیلد تقسیم بشه.
  2. فیلد نخست تاریخ شمسی باشه که DatePicker هم روی اون فعال هستش
  3. فیلد دوم تاریخ میلادی باشه که در فرم رزرو به صورت فیلد مخفی درج بشه
  4. در فیلد نخست، با Datepicker تاریخ شمسی انتخاب بشه و در فیلد دوم که مخفی هستش و نمایش داده نمیشه، به صورت تبدیل شده به میلادی درج بشه
  5. با زدن دکمه ذخیره و رزرو، فیلد دوم در دیتابیس ذخیره بشه.
فکر می کنم راه بالا عملی باشه، منتها پیاده سازیش از من ساخته نیست و برای من خیلی زمان بر خواهد شد.

اگر کسی باشه که بتونه این سیستم رو پیاده کنه، لطفا به من پیغام بده (هزینه انجام این پروژه هم پرداخت خواهد شد - به علت کمبود پست نتونستم در بازار تاپیک ایجاد کنم)

یا اینکه همین تاپیک رو به صورت همکاری جمعی در راستای تبدیل کردن این راهکار به یک پلاگین جامع پیگیری کنیم.

در ضمن شمسی سازی سیستم با استفاده از جایگذاری Datepicker پیشفرض با datepicker شمسی در  functions.php قالب انجام شده که همونطور که اشاره کردم خیلی عادی جایگزین شده و کار میکنه، سایر قسمت ها هم با افزونه های فارسی ساز پارسی و شمسی شده.

منتظر دیدگاه های مفید شما هستم.

با سپاس

 
آخرین ویرایش توسط مدیر:

Mohammad

مدیر انجمن
عضو کادر مدیریت
6/4/08
15,441
364
83
31
PersianScript
تلاش های شما ستودنی ست

تنها نکته ای که باید توجه کنید

تبدیل گر تاریخ شمسی به میلادیه

یک مبدل باید ایجاد کنید که ورودی هایی که میزنید (شمسی) ، بره به تابع میلادی ساز و درون دیتابیس میلادی ذخیره کنه

و فقط خوندن به صورت شمسی باشه... . که با jdf به راحتی میتونید این کار رو بکنید

 

tparkk

تازه وارد
7/8/16
9
0
1
درود بر شما @Mohammad عزیز،

اگر کسی باشه که بتونه این سیستم رو پیاده کنه، لطفا به من پیغام بده (هزینه انجام این پروژه هم پرداخت خواهد شد - به علت کمبود پست نتونستم در بازار تاپیک ایجاد کنم)
شما میتونید زحمتش رو بکشید؟

حالا با هر راه حلی که خودتون میدونید.

 
آخرین ویرایش توسط مدیر:

armin3000

تازه وارد
2/6/11
13
0
1
درود

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

دوم اینکه در حال آماده سازی یک سیستم رزرواسیون بر پایه ووکامرس هستم و بیش از 80% شمسی سازی ها رو انجام دادم، حتی Datepicker ها هم درست کار می کنن و تاریخ شمسی نشون میدن و انتخاب می کنن.

ولی مشکل اینجاست که همینطور که میدونید فیلد تاریخ Datepicker ووکامرس با تاریخ شمسی کار نمیکنه، و باید تاریخ میلادی ذخیره بشه.

در حال حاضر هم در پنل مدیریت و هم در فرم رزرواسیون، تاریخ به صورت صحیح و شمسی نمایش داده میشه و کاربر میتونه تاریخ رو از Datepicker شمسی انتخاب کنه، ولی مثلا اگر یک رویداد با تاریخ (1395/05/17) ایجاد کنیم، سیستم قابلیت تشخیص این تاریخ رو نداره و میگه که رویداد منقضی شده و امکان رزور فراهم نیست، و اگر تاریخ رو در فیلد مربوطه به صورت دستی به میلادی وارد کنیم (برای مثال:2016/08/05 - در Datepicker به صورت 17 مرداد سال 2016 هجری شمسی نشون داده خواهد شد). سیستم بدون ایراد کار میکنه، البته رویدادها رو برای 691 سال بعد نمایش میده.

حالا راهکار پیشنهادی که به ذهنم میرسه:

  1. تاریخ از یک فیلد به دو فیلد تقسیم بشه.
  2. فیلد نخست تاریخ شمسی باشه که DatePicker هم روی اون فعال هستش
  3. فیلد دوم تاریخ میلادی باشه که در فرم رزرو به صورت فیلد مخفی درج بشه
  4. در فیلد نخست، با Datepicker تاریخ شمسی انتخاب بشه و در فیلد دوم که مخفی هستش و نمایش داده نمیشه، به صورت تبدیل شده به میلادی درج بشه
  5. با زدن دکمه ذخیره و رزرو، فیلد دوم در دیتابیس ذخیره بشه.
فکر می کنم راه بالا عملی باشه، منتها پیاده سازیش از من ساخته نیست و برای من خیلی زمان بر خواهد شد.

اگر کسی باشه که بتونه این سیستم رو پیاده کنه، لطفا به من پیغام بده (هزینه انجام این پروژه هم پرداخت خواهد شد - به علت کمبود پست نتونستم در بازار تاپیک ایجاد کنم)

یا اینکه همین تاپیک رو به صورت همکاری جمعی در راستای تبدیل کردن این راهکار به یک پلاگین جامع پیگیری کنیم.

در ضمن شمسی سازی سیستم با استفاده از جایگذاری Datepicker پیشفرض با datepicker شمسی در  functions.php قالب انجام شده که همونطور که اشاره کردم خیلی عادی جایگزین شده و کار میکنه، سایر قسمت ها هم با افزونه های فارسی ساز پارسی و شمسی شده.

منتظر دیدگاه های مفید شما هستم.

با سپاس




 
سلام دوست عزیز. پروژه شما در چه وضعیتی هست؟ موفق شدید تکمیلش کنید؟ پیشنهادی برای یک سیستم بوکینگ شمسی با امکان انتخاب ساعت و ظرفیت دارید؟ سپاسگزارم