By Siva Kumar Epari.
- You need a Multi-day event calendar in a website which uses Drupal 6. Calendar_multiday, a sub-module of Calendar module can do the task.
- You need a custom look for the Calendar & event items on the Calendar view. A set of templates come with Calendar module which we can copy to our theme folder & override them.
- You need to build this as a feature. Views, Content types, rules, permissions, etc. can be exported using Features module. Also custom functions, CSS & JS can be added easily to the files which are exported as a module via Features.
- But how do you override templates from a module folder? Templates for node, block, calendar, etc. can be put in the modules directory & using hook_theme_registry_alter Drupal can be asked to look there instead of the standard of looking in Themes directory.
(Suggested by Marek Sotak here http://drupal.org/node/1105922#comment-4265700 ) But what about adding custom views templates? Calendar uses Views extensively for Week, month, Displays. Luckily, custom templates for views hooks can be declared using hook_theme function.
( Check http://views-help.doc.logrus.com/help/views/api-default-views ) Now you are capable of putting most of the components in a single module folder & hence achieving what is called feature-driven-development.