コード例 #1
0
ファイル: DatePicker.php プロジェクト: GemsTracker/MUtil
 /**
  * Set view object
  *
  * @param  \Zend_View_Interface $view
  * @return \Zend_Form_Element
  */
 public function setView(\Zend_View_Interface $view = null)
 {
     $element = parent::setView($view);
     if (null !== $view) {
         if (false === $view->getPluginLoader('helper')->getPaths('MUtil_JQuery_View_Helper')) {
             $view->addHelperPath('MUtil/JQuery/View/Helper', 'MUtil_JQuery_View_Helper');
         }
     }
     if ($locale = \Zend_Registry::get('Zend_Locale')) {
         $language = $locale->getLanguage();
         // We have a language, but only when not english
         if ($language && $language != 'en') {
             $jquery = $view->JQuery();
             if ($uiPath = $jquery->getUiLocalPath()) {
                 $baseUrl = dirname($uiPath);
             } else {
                 $baseUrl = \MUtil_Https::on() ? \ZendX_JQuery::CDN_BASE_GOOGLE_SSL : \ZendX_JQuery::CDN_BASE_GOOGLE;
                 $baseUrl .= \ZendX_JQuery::CDN_SUBFOLDER_JQUERYUI;
                 $baseUrl .= $jquery->getUiVersion();
             }
             // Option 1: download single language file
             if (version_compare($jquery->getUiVersion(), '1.11.0', '>=')) {
                 $jquery->addJavascriptFile($baseUrl . '/i18n/datepicker-' . $language . '.js');
             } else {
                 $jquery->addJavascriptFile($baseUrl . '/i18n/jquery.ui.datepicker-' . $language . '.js');
             }
             // Option 2: download all languages and select current
             // $jquery->addJavascriptFile($baseUrl . '/i18n/jquery-ui-i18n.min.js');
             // $jquery->addOnLoad("$.datepicker.setDefaults($.datepicker.regional['$language'])");
             // TODO: Option 3: enable language setting for each individual date
         }
     }
     return $element;
 }