• 3.1.9
  • کامل شده
  • منقضی شده
این داکیومنت از طرف توسعه‌دهنده ساپورت نمی‌شود، جدیدترین ورژن داکیومنت بزودی ترجمه خواهد شد.

Calendar Class تقویم ماهانه HTML تولید می‌کند و برای نمایش رویدادها یا تاریخ‌های مهم در یک صفحه کاربرد دارد. این کلاس خودش منبع داده رویدادها نیست، بلکه آرایه‌ای از اطلاعات روزها را دریافت می‌کند و خروجی HTML می‌سازد.

ساختار و API اصلی

پس از بارگذاری کلاس، متد generate() سال، ماه و در صورت نیاز آرایه‌ای از داده‌های روزانه را دریافت می‌کند. می‌توانید قالب روزهای هفته، نام ماه‌ها، لینک‌های ناوبری و کلاس‌های HTML را با تنظیمات Calendar تغییر دهید.

نمونه استفاده

 $this->load->library('calendar');
 $data = array(
     3 => '<a href="/events/3">جلسه تیم</a>',
     12 => '<a href="/events/12">تحویل سفارش</a>'
 );
 echo $this->calendar->generate(2026, 11, $data);

نکته مهم

برای تقویم فارسی یا تقویم‌های غیرمیلادی، تبدیل تاریخ و نام روزها را جداگانه مدیریت کنید. خروجی روزهای دارای رویداد باید از نظر XSS امن باشد.

مطالعه مرتبط

برای ادامه مطالعه، MVC، کوئری، ترنزکشن را ببینید.

گزینه‌های تقویم

متد یا مفهومکاربرد
generate($year, $month, $data)ساخت تقویم HTML برای ماه مشخص.
templateقالب HTML شامل کلاس‌های روز، Header و لینک‌های قبلی و بعدی.
day_typeتعیین نوع نمایش روزهای هفته.
month_typeتعیین نحوه نمایش نام ماه.
start_dayتعیین روز شروع هفته.
show_next_prevنمایش لینک جابه‌جایی ماه‌ها.

نحوه استفاده و عیب‌یابی

در یک Controller ابتدا Library را با Loader بارگذاری کنید، سپس تنظیمات محیطی را به آن بدهید و عملیات را اجرا کنید. نتیجه را از مسیر مشخص دریافت کنید و در صورت شکست، پیام خطا را در Log ثبت کنید. اگر Library به Driver خارجی وابسته است، وجود افزونه PHP یا برنامه موردنیاز را روی سرور بررسی کنید.

در محیط توسعه، مسیر موفق و مسیر خطا را جداگانه آزمایش کنید. ورودی خالی، مقدار نامعتبر، فایل بزرگ، Timeout سرویس خارجی و نبود مجوز نوشتن از سناریوهایی هستند که باید بررسی شوند. منابعی مانند اتصال شبکه و فایل‌های موقت را پس از پایان عملیات آزاد کنید.

در بازبینی کد، ترتیب و نتیجه متدهای generate($year, $month, $data)، template، day_type، month_type را بررسی کنید. نام متد به‌تنهایی تضمین نمی‌کند ورودی معتبر یا خروجی امن باشد، بنابراین رفتار هر متد را با تست و مستندات همان نسخه کنترل کنید.

سایر پست های داکیومنت