date_popup + jQuery UI 1.7.3 подружились

Прислано: graceman9

ср, 15/09/2010 - 09:12

Другие статьи по теме:

Захотелось подружить модуль date => date_popup с темами jQuery UI
(просто посмотрел что 1.7.3 это последняя версия из ветки 1.7 на code.google)
Озадачило что можно использовать лишь стандартную тему модуля date_popup или стандартную jQuery UI.
Сделал такие изменения:

--- /sites/all/modules/date/date_popup/date_popup.module	Пт авг 13 21:48:34 2010
+++ /sites/all/modules/date/date_popup/date_popup_173.module	Ср сен 15 11:49:09 2010
@@ -51,6 +51,16 @@
       $paths[drupal_get_path('module', 'date_popup') .'/themes/datepicker.css'] = t('Date Popup default');
       $paths[$jquery_ui_path .'/jquery.ui/themes/base/ui.datepicker.css'] = t('jQuery UI default');
       break;
+    case '1.7.3':
+      $path = drupal_get_path('module', 'jquery_ui') .'/jquery.ui/themes';
+      $files = is_dir($path) ? scandir($path) : array();
+      $nomask = array('.', '..', 'CVS');
+      foreach ($files as $dir) {
+        if (is_dir($path .'/'. $dir) && !in_array($dir, $nomask)) {
+          $paths[$path .'/'. $dir .'/ui.datepicker.css'] = 'jQuery UI '.$dir;
+        }
+      }
+      break;
     default:
       $paths[drupal_get_path('module', 'date_popup') .'/themes/datepicker.1.7.css'] = t('Date Popup default');
       $paths[$jquery_ui_path .'/jquery.ui/themes/default/ui.datepicker.css'] = t('jQuery UI default');
@@ -69,7 +79,15 @@
     return;
   }
 
-  drupal_add_css(variable_get('date_popup_css_file', date_popup_css_default()));
+  $pathinfo = pathinfo(variable_get('date_popup_css_file', date_popup_css_default()));
+  if ($pathinfo['filename'] == 'ui.datepicker') {
+    drupal_add_css($pathinfo['dirname'] . '/ui.core.css');
+    drupal_add_css($pathinfo['dirname'] . '/ui.datepicker.css');
+    drupal_add_css($pathinfo['dirname'] . '/ui.theme.css');
+  }
+  else {
+    drupal_add_css($pathinfo['dirname'] . $pathinfo['basename']);
+  }
 
   if (variable_get('date_popup_timepicker', 'default') == 'default') {
     drupal_add_css(drupal_get_path('module', 'date_popup')  .'/themes/jquery.timeentry.css');

Может пригодится.
Это конечно нехорошо (код чужого модуля править), но почему они сами такой возможности не сделали?

Комментарии


Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Применить"
Опубликовано Stan.Ezersky в вс, 26/12/2010 - 17:22.

Спасибо!

Странно, что никто не воспользовался этим решением

http://drupal.org/node/1007592


Опубликовано graceman9 в вс, 26/12/2010 - 17:46.

Спасибо за содействие!

впервые заглянул в issue date модуля и ужаснулся :) сколько ж их там


Опубликовано Stan.Ezersky в вс, 26/12/2010 - 20:52.

"graceman9" написал(а):

впервые заглянул в issue date модуля и ужаснулся :) сколько ж их там

Вам спасибо за решение-)
Там дописывают и переписывают кто во что горазд, так как много очень ошибок


Опубликовано teoretik в сб, 22/01/2011 - 07:33.

У меня та же проблема! Но я не владею языком PHP и многого не понимаю. Пожалуйста, объясните нубу, куда вставлять этот код! И как вообще решить проблему попроще!


Опубликовано graceman9 в сб, 22/01/2011 - 11:27.

teoretik
нужно найти файл /sites/all/modules/date/date_popup/date_popup.module
и очень аккуратно заменить там то что помечено "+" и удалить что помечено "-",
точное место вставки помогут определить строки которые ничем не помечены и расположены выше и ниже "+" и "-" строк.
Или вам поможет это:
http://drupal.ru/node/8546
http://drupal.ru/node/8542


Опубликовано graceman9 в пн, 26/09/2011 - 19:19.

Помогите если "за" :)
http://drupal.org/node/1007592#comment-5040508

Не понял почему он отклонил патч (может лишняя фича, с дрогой стороны это только в админке)
ps: понимаю что уже и 7 и 8 близко, просто наткнулся, захотелось довершить начатое.


Новое на сайте