و اینک ... Datex 2

By عرفان بناکار, 14 اکتبر, 2013

بعد از چند وقت تلاش و افزودن امکانات جدید ورژن ۲ ماژول Datex برای دروپال منتشر شد. این ماژول چندین امکان جدید داره که سعی میکنیم در این مطلب به اونها اشاره کنیم. و قبل از اون طبق معمول تشکر ویژه از کوشا عزیز به خاطر تلاش های زیادی که برای این ماژول انجام داد.

شاید مهمترین اتفاقی در این ورژن افتاده اینه که API‌ های این ماژول یک بازنگری کلی انجام شده. API ها ساده تر شده اند و کاملا برای پشتیبانی از تمام تقویم ها بهینه شده است. سبک تر شده و استفاده از اون هم راحت تر شده.

اما این تمام اتفاق هایی که در این ورژن افتاده نیست. امکانات خاصی به این ماژول اضافه شده است که با هم بررسی میکنیم.

  1. اضافه شدن قابلیت popup به ماژول date: در این حالت شما میتوانید فیلدهای date را که به نوع محتوای خود اضافه میکنید را به صورت popup نمایش دهید. قبلا هم قابلیت نمایش select را نیز به فیلدهای ماژول date اضافه کرده بودیم. پس فقط در حالت text تاریخ شمسی نخواهد بود.
  2. آماده برای افزودن تقویم های دیگر: به دلیل تغییراتی که در api های datex انجام شده اضافه شدن تقویم های دیگر مثل قمری یا تایلندی به سادگی انجام خواهد شد. کافیست از API‌های datex استفاده شود و با چند خط کوتاه این تقویم اضافه شود. در ضمن به دلیل استفاده از این کتابخانه Jquery تقریبا برای تمام زبان ها و تقویم ها popup نوشته شده است.
  3. اضافه شدن schema: به دلیل اینکه datex سعی میکند یک ماژول جهانی باشد بنابراین تصمیم گرفتیم رابط کاربری برای استفاده بهتر این ماژول ایجاد کنیم. schema این قدرت رو به شما میدهند که تصمیم بگیرید در چه شرایطی در سایت چه زبانی از چه تقویمی استفاده کند. برای سادگی کار یک schema به نام default ایجاد شده است. شما با استفاده از این schema ها میتوانید مشخص کنید مثلا وقتی زبان سایت انگلیسیست تاریخ سایت به چه شکل نمایش داده شود. شما میتوانید مثلا در زبان انگلیسی تاریخ سایت جلالی نمایش داده شود.
  4. نحوه نمایش تاریخ در مشاهده محتوا و نظرات: شما میتوانید علاوه بر تنظیم حالت های مختلف نمایش تاریخ در سایت مشخص کنید صرفا در نمایش تاریخ محتوا ها و نظرات با چه فرمتی تاریخ نمایش داده شود.
  5. تصمیم در مورد نمایش تاریخ در فیلدهای date: در زمانی ایجاد و نمایش یک فیلد از نوع date شما میتوانید مشخص کنید که این فیلد از چه schema یی استفاده کند. مثلا یکی از دوستان ما میخواست که یک سایت فروش خودرو راه اندازی کند. او نیاز داشت که در هنگام افزودن خودرو اگر یک خودرو خارجی را وارد میکرد تاریخ ساخت را به صورت میلادی وارد کند و برای خودروهای داخلی تاریخ ساخت را شمسی وارد کنید. او 2 schema ساخت یک برای حالتی که در زبان فارسی تاریخ سایت را شمسی نمایش دهد یکی هم برای زمانی که در زبان فارسی تاریخ سایت را میلادی نمایش دهد. بعد او 2 فیلد date ساخت. برای فیلد اول از schema اول استفاده کرد که تاریخ را شمسی نمایش دهد و برای فیلد دوم از schema دوم استفاده کرد که در هر صورت تاریخ را میلادی نمایش دهد. در این حالت او توانست برای خودروهای خارجی و ایرانی فیلدهای شمسی و میلادی مورد نظر را داشته باشد. این قابلیت در views نیز قابل استفاده است. حتی شما میتوانید یک فیلد را میلادی از کاربر بگیرید و شمسی نمایش دهید. نوع استفاده به نیاز شما بازمیگردد.
  6. تاریخ دقیق: با استفاده از توابع جدید برای تشخیص تاریخ جلالی به نظر میرسد که این ماژول تا سال های سال تاریخ را به درستی تشخصی داده و در مورد سال های کبیسه دچار مشکل نشود.

قابلیت های گذشته نیز هم چنان پابرجاست:

  1. استفاده در حالت بدون نیاز به patch
  2. استفاده در حالت patch شدن هسته دروپال
  3. استفاده از توابع داخلی برای تبدیل تاریخ
  4. استفاده از کتابخانه php-intl موجود در php برای تبدیل تاریخ

نحوه نصب و استفاده:

برای نصب این ماژول مراحل زیر را دنبال کنید.

  1. ماژول datex را از صفحه این ماژول در سایت دروپال دانلود کنید.
  2. این ماژول را مانند بقیه ماژول ها نصب کنید. در لیست ماژول ها 3 ماژول را میبینید
    1. Datex API: که شامل api ها و توابع مورد نیاز این ماژول است.
    2. Datex: که وظیفه مدیریت تاریخ در دروپال را به عهده دارد. در ضمن ماژول Datex_date که در ورژن 1 وجود داشت به این ماژول منتقل شده است. برای استفاده صحیح شما باید این ماژول را نصب کنید.
    3. Datex Popup: برای نمایش تاریخ به صورت popup باید این ماژول را نصب کنید.
  3. پس از نصب ماژول به صفحه admin/config/regional/language بروید و زبان های مورد نیاز را به دروپال خود اضافه کنید.
  4. به صفحه admin/config/regional/date-time/datex بروید و بر روی manage schema کلیک کنید. یک schema به صورت پیش فرض با نام default قبلا ایجاد شده است. بر روی edit کلیک کنید و نکات زیر را در نظر بگیرید.
    1. ماژول Datex به صورت پیش فرض تمام تقویم ها را میلادی در نظر میگیرد. بنابراین اگر شما تقویمی را برای زبانی فعال نکنید تاریخ برای آن زبان به صورت میلادی نمایش داده میشود.
    2. در ضورتی که میخواهید تاریخ در زبان فارسی به صورت شمسی نمایش داده شود تیک گزینه Enable datex in Persian را بزنید.
    3. از لیست انتخاب jalali را انتخاب کنید. ( در حال حاضر فقط jalali قابل انتخاب است تا زمانی که تقویم های دیگری نیز برای زبان های دیگر اضافه شود)
    4. در نهایت ما برای زبان انگلیسی هیچ تقویمی را انتخاب نمیکنیم و چون تقویم به صورت پیش فرض میلادی است برای زبان انگلیسی تقویم میلادی انتخاب خواهد شد و برای زبان فارسی نیز تقویم jalali را انتخاب کرده ایم.
  5. دوباره به صفحه تنظیم ماژول datex در admin/config/regional/date-time/datex بروید و از منوی Non-patchin Mode انتخاب کنید که تاریخ نمایش محتوا و نظر به چه گونه باشد و روی دکمه ذخیره کلیک کنید.
  6. از این پس باید بر اساس تنظیماتی که در schema انجام داده اید تقویم شما در زبان های مختلف به درستی نمایش داده شود. از مراحل گفته شده در مرحله 4 را انجام داده باشید تاریخ سایت شما در زبان انگلیسی باید به صورت میلادی باشد و در زبان فارسی به صورت جلالی.
  7. اگر میخواهید یک schema جدید تعریف کنید باز به صفحه تنظیمات datex بروید در admin/config/regional/date-time/datex و بر روی  New schema کلیک کنید و مراحل زیر را دنبال کنید.
    1. یک نام برای schema مورد نظر خود انتخاب کنید. مثلا من میخواهم تاریخ در هر شرایطی به صورت جلالی نمایش داده شود. بنابراین نام always jalali را انتخاب میکنم.
    2. بر روی زبان هایی که میخواهم تاریخ نمایش آنها میلادی نباشد کلیک میکنم. در اینجا چون میخواهم در هر زبانی تاریخ جلالی نمایش داده شود تیک هر دو زبان فارسی و انگلیسی را میزنم و تقویم را jalali انتخاب میکنم.
    3. روی دکمه ذخیره کلیک میکنم.
    4. از این پس میتوانم در صفحه manage schemas هر schema که تعریف شده است را ببینم و ویرایش و حذف کنم.
  8. برای فعالسازی قابلیت popup مراحل زیر را دنبال کنید.
    1. ماژول datex popup را نصب کنید.
    2. فایل های کتابخانه مربوط به قابلیت popup را دانلود کنید و به شاخه sites/all/libraries منتقل کنید.
    3. فایل را  extract کنید و نام آن را به jquery.calendars تغییر دهید به صورتی که شما چنین مسیری را داشته باشید. sites/all/libraries/jquery.calendars/jquery.calendars.all.min.js

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

دسته بندی مطلب