پلاگینی ساده و قدرتمند برای افزودن تابع تبدیل تاریخ میلادی به شمسی در قالبهای تایپچو
- معرفی
- ویژگیهای جدید در نسخه ۱.۳
- نیازمندیها
- نصب
- تنظیمات پلاگین
- نحوه استفاده در قالب
- مثالهای کاربردی
- توسعهدهنده
- تغییرات نسخهها
- مجوز
پلاگین دستیار تاریخ شمسی یک ابزار کمکی برای قالبهای تایپچو است که تابع jalali_date را در دسترس قالبسازان قرار میدهد. با استفاده از این تابع میتوانید هر تاریخ میلادی (تایماستمپ) را به تاریخ شمسی با فرمت دلخواه تبدیل کرده و نمایش دهید. نسخه ۱.۳ این پلاگین با افزودن پشتیبانی از منطقه زمانی، تنظیمات پیشرفته و بهبود کارایی تجربهای حرفهایتر را فراهم کرده است.
✨ پشتیبانی از منطقه زمانی (Timezone)
- امکان فعالسازی و انتخاب منطقه زمانی از جمله تهران، کابل، دوشنبه و UTC.
- تنظیم خودکار منطقه زمانی برای تمام تاریخهای نمایش داده شده و نظرات.
⚙️ تنظیمات پیشرفته در پنل مدیریت
- فعال/غیرفعال کردن منطقه زمانی.
- انتخاب منطقه زمانی از بین گزینههای پرکاربرد.
- نمایش یا مخفیسازی ثانیه.
- تعیین فرمت پیشفرض تاریخ (قابل تغییر در تابع).
🕒 پشتیبانی از نمایشگرهای زمان
- نمایش ق.ظ / ب.ظ به جای AM/PM.
- نمایش نام روزهای هفته به فارسی (مثلاً «شنبه»).
- نمایش تکحرف روز هفته برای طراحی فشرده.
📦 سازگاری کامل با نظرات
- اعمال منطقه زمانی بر روی زمان درج نظرات برای نمایش یکپارچه.
🔧 بهبود عملکرد و کاهش خطا
- استفاده از کلاس DateTime برای مدیریت دقیقتر زمان.
- بررسی معتبر بودن منطقه زمانی انتخاب شده.
- تایپچو نسخه ۱.۲ یا بالاتر
- PHP نسخه ۷.۲ یا بالاتر
- تابعهای تاریخ PHP (فعال در اکثر سرورها)
۱. فایل پلاگین را از صفحه انتشار دانلود کنید.
۲. محتویات پوشه JalaliDateHelper را در مسیر usr/plugins/JalaliDateHelper در هاست خود آپلود کنید.
۳. وارد پنل مدیریت تایپچو شوید و به بخش کنترل پنل > پلاگینها بروید.
۴. پلاگین دستیار تاریخ شمسی را فعال کنید.
۵. پس از فعالسازی، گزینه تنظیمات برای پیکربندی ظاهر میشود.
پس از فعالسازی، با کلیک روی تنظیمات در کنار نام پلاگین میتوانید گزینههای زیر را شخصیسازی کنید:
| گزینه | توضیحات |
|---|---|
| فعالسازی منطقه زمانی | با انتخاب «فعال»، منطقه زمانی انتخاب شده بر تمام تاریخها اعمال میشود. |
| منطقه زمانی | انتخاب از بین تهران، کابل، دوشنبه یا UTC. در صورت تمایل میتوانید منطقه دیگری را در کد اضافه کنید. |
| نمایش ثانیه | اگر فعال باشد، ثانیه (s) در فرمتهای حاوی ثانیه نمایش داده میشود. |
| فرمت پیشفرض تاریخ | فرمت پیشفرضی که اگر در تابع jalali_date فرمت وارد نشود، از این مقدار استفاده میگردد. (پیشفرض: Y/m-d H:i) |
پلاگین یک تابع عمومی به نام jalali_date در اختیار قالب قرار میدهد. این تابع دو آرگومان دارد:
jalali_date( string $format [, int $timestamp = null ] ) : string$format: رشته فرمت مشابه فرمتهایdateدر PHP با اضافه شدن برخی کاراکترهای خاص (مطابق جدول پایین).$timestamp(اختیاری) : یک تایماستمپ یونیکس. اگر وارد نشود، زمان فعلی (اکنون) در نظر گرفته میشود.
این تابع از تمام کاراکترهای استاندارد date پشتیبانی میکند. علاوه بر آن، کاراکترهای ویژه زیر برای تاریخ شمسی اضافه شدهاند:
| کاراکتر | توضیحات | مثال |
|---|---|---|
| F | نام کامل ماه فارسی | فروردین |
| Y | سال چهار رقمی شمسی | ۱۴۰۴ |
| y | سال دو رقمی شمسی | ۰۴ |
| m | ماه دو رقمی (با صفر) | ۰۳ |
| n | ماه بدون صفر | ۳ |
| d | روز دو رقمی (با صفر) | ۰۵ |
| j | روز بدون صفر | ۵ |
| l | نام کامل روز هفته فارسی | سهشنبه |
| D | تکحرف روز هفته (فقط حرف اول) | س |
| H | ساعت ۲۴ ساعته (با صفر) | ۱۴ |
| h | ساعت ۱۲ ساعته (با صفر) | ۰۲ |
| i | دقیقه (با صفر) | ۳۰ |
| s | ثانیه (با صفر) – در صورت فعال بودن نمایش ثانیه | ۱۵ |
| A | قبل از ظهر/بعد از ظهر (حروف بزرگ) | ب.ظ |
| a | قبل از ظهر/بعد از ظهر (حروف کوچک) | ب.ظ |
توجه: کاراکترهای
Aوaهر دو «ق.ظ» یا «ب.ظ» را برمیگردانند و تفاوتی در خروجی ندارند.
<?php echo jalali_date('d F Y', $this->date->timeStamp); ?>خروجی: ۲۵ فروردین ۱۴۰۴
<?php echo jalali_date('Y/m/d - H:i', $this->date->timeStamp); ?>خروجی: ۱۴۰۴/۰۱/۲۵ - ۱۴:۳۰
<?php echo jalali_date('l, d F Y', $this->date->timeStamp); ?>خروجی: سهشنبه، ۲۵ فروردین ۱۴۰۴
<?php echo jalali_date('j F Y در ساعت H:i', $this->date->timeStamp); ?>خروجی: ۵ اردیبهشت ۱۴۰۴ در ساعت ۱۰:۱۵
<?php echo jalali_date('D', $this->date->timeStamp); ?>خروجی: س (برای سهشنبه)
- نویسنده: پوردریایی (Pourdaryaei)
- وبسایت: pourdaryaei.ir
- گیتهاب: https://github.com/abdulhalim/JalaliDateHelper (مخزن پلاگین تاریخ شمسی)
- افزودن پشتیبانی از منطقه زمانی با انتخاب از لیست پرکاربرد (تهران، کابل، دوشنبه، UTC)
- اضافه شدن تنظیمات به پنل مدیریت (فعالسازی منطقه زمانی، نمایش ثانیه، فرمت پیشفرض)
- پشتیبانی از نمایش «ق.ظ/ب.ظ» به جای AM/PM
- اضافه شدن نام روزهای هفته به فارسی (l, D)
- اعمال منطقه زمانی بر روی نظرات برای نمایش یکسان
- بهبود عملکرد با استفاده از DateTime
- رفع باگهای محاسباتی در سالهای کبیسه
- انتشار اولیه با قابلیت تبدیل پایه و نام ماه فارسی
این پلاگین تحت مجوز GPLv3 منتشر شده است. شما میتوانید آن را در پروژههای شخصی و تجاری خود استفاده و تغییر دهید. احترام به کپیرافت (Copyleft) و انتشار تغییرات تحت همین مجوز توصیه میشود.