Actions

Talk

Calendar form field type

From Joomla! Documentation

Revision as of 06:44, 15 November 2012 by Exps1 (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

If you need MM-DD-YYYY format create a new calendar type. In 2.5.8 setting format to %m-%d-%Y still throws fatal error.

See long discussion here : http://joomlacode.org/gf/project/joomla/tracker/?action=TrackerItemEdit&tracker_id=8103&tracker_item_id=20826

For my requirement the solution was to create a new type using jQuery UI datepicker. Lots of formatting options

<?php defined('_JEXEC') or die('Restricted access'); /**

* Resource Manager Extension
* 
* @author Micah Fletcher
* @copyright 2012 Extensible Point Solutions Inc. All Right Reserved
* @license GNU GPL version 3, http://www.gnu.org/copyleft/gpl.html
* @link http://www.exps.ca
* @version 1.0.0
* @since 2.5.6
* */

jimport('joomla.form.formfield'); /**

* Field JQuery UI DatePicker form field class
*/

class JFormFieldJuiDatePicker extends JFormField {

 /**
  * field type
  * @var string
  */
 protected $type = 'JuiDatePicker';
 /**
  * Method to get the field input markup
  */
 protected function getInput() {
   //script in parent
   $js = 'jQuery(function() {
   jQuery("#'.$this->id.'").datepicker({ 
     showButtonPanel: true,
     showOn: "both",
     dateFormat: "'.$this->element['format'].'",
     defaultDate: "'.$this->element['defaultDate'].'",
     changeYear: true     
      });

});';

   JFactory::getDocument()->addScriptDeclaration($js);
   // The input field
   // class='required' for client side validation
   $class = ;
   if ($this->required) {
       $class = ' class="required"';
   }
   $html = array();
   $html[] = '<input ' . $class . ' type="text" name="' . $this->name . '" id="' . $this->id . '" size="30" value="' . $this->value . '" />';
   return implode("\n", $html);
 }

}