I was looking for a simple calendar for a project I'm working on. All I needed was something where you could navigate through the months and click on a day to select it. Unfortunately, I couldn't find a Yii extension for that, so I ended up developing one myself: Simple Calendar
Simple Calendar will render a calendar without using any client side code. Everything works with links and query string parameters.
Just extract the contents of the package to your extensions directory. Usually protect/extensions
To use it, add the following to your view:
$this->widget('ext.simple-calendar.SimpleCalendarWidget');
This will render a calendar where each of the days displayed is a link in the following format:
http://example.com/current_url?month=current_month&year=current_year&day=select_day
The previous and next month links are created exactly the same way:
http://example.com/current_url?month=current_month&year=current_year&day=last_day_of_the_month
Using the query string parameters, you can get the selected date and use it wherever you need.
By default, Simple Calendar will render the calendar based on the current date. If you need it to start displaying any other date, just pass it in the widget initialization:
$this->widget('ext.simple-calendar.SimpleCalendarWidget', array('year' => 2012, 'month' => 12, 'day' => 21); ?>
Version 1.1
- Fixes error when current day was 30 or 31 and February was acessed
- Updated the html for the calendar to make it easier to be themed. Now you have classes for the month/year row and the for the next and previous links
Total 6 comments
When I am selecting date from the calendar then it will not reflect in the text box?
and calendar displayed directly while i want to keep it as a button near text box?
Thanks @volkmar. Just fixed the problem with the demo.
The demo don't work!
@bryglen
This widget it's not intended to be used with forms. What I had in mind was something like a blog or any other kind of history where you can click on a date and see the respective items. And, of course, I didn't wanted any client side code.
@gunsnips
Theming supports is in my plans for the next release. I don't think that using same classes as the jquery ui datepicker is a good idea. E.g It will make it harder to have simple calendar and datepicker in the same page, but with different styles.
Very nice Just a suggestion, you could use the same css classes in it as in jquery ui datepicker, allowing easy customization of its look
it's nice but cannot be used easily in Forms since the page is reloading.
Leave a comment
Please login to leave your comment.