Тематизация пользовательского интерфейса jQuery


Я хочу использовать в своем модуле пользовательскую тему пользовательского интерфейса jQuery из шаблона . Каков наилучший способ сделать это?

Author: Alex Weber, 2011-04-18

4 answers

Предполагая, что вы используете модуль jquery_ui, все, что вам нужно сделать, это:

  • Создайте пользовательскую загрузку для пользовательского интерфейса jQuery, включая вашу пользовательскую тему из ThemeRoller, и скопируйте ее в папку jquery_ui, следуя инструкциям в модуле README.txt
  • В качестве альтернативы вы можете просто создать свою собственную тему, загрузить ее и скопировать в каталог тем пользовательского интерфейса jQuery

ИЗМЕНИТЬ:

Однако, поскольку Drupal 7 уже поставляется с последняя версия пользовательского интерфейса jQuery, все, что вам нужно сделать, это загрузить свою пользовательскую тему пользовательского интерфейса jQuery и включить ее одним из следующих способов:

  • Скопируйте каталог в папку вашей темы и включите файл css в файл .info вашей темы
  • Создайте пользовательский модуль и реализуйте hook_init() и используйте drupal_add_css(), чтобы добавить свою пользовательскую таблицу стилей:

    Функция mymodule_init(){ $параметры = массив( 'группа' => CSS_ТЕМА, 'every_page' => ИСТИНА, "вес" => 9999 ); drupal_add_css(drupal_get_path("модуль", "mymodule"), "mymodule.css", $параметры); }

 6
Author: Alex Weber, 2011-04-22 14:21:28

Для Drupal 7 тема stock Seven делает это ( ссылка на репозиторий ) (сокращенно):

function seven_css_alter(&$css) {
  if (isset($css['misc/ui/jquery.ui.theme.css'])) {
    $css['misc/ui/jquery.ui.theme.css']['data'] = drupal_get_path('theme', 'seven') . '/jquery.ui.theme.css';
  }
}

Измените соответствующим образом, т.е. замените "семь" именем вашей темы и укажите путь к CSS-файлу вашей темы пользовательского интерфейса jQuery.

 3
Author: Samat Jain, 2011-08-22 13:02:02

Если вы добавляете пользовательский интерфейс через drupal_add_library(), вы можете изменить стиль с помощью hook_library_alter(). Например:

/**
 * Implements hook_library_alter().
 */
function YOURMODULENAME_library_alter(&$libraries, $module) {
  unset($libraries['ui']['css']['misc/ui/jquery.ui.theme.css']);
  $libraries['ui']['css']['path/to/your/custom/theme/jquery.ui.theme.css'] = array();
}
 3
Author: Web Assistant, 2012-03-04 02:30:13

Я рекомендую использовать модуль jQuery UI theme, который управляет пользовательскими интерфейсами, созданными несколькими темами, и прикрепляет эти пользовательские интерфейсы к темам Drupal. Затем установите классы CSS пользовательского интерфейса jquery для элементов в Drupal с помощью таких модулей, как класс блоков/класс узлов/css веб-формы и т.д.

 2
Author: fishfree, 2012-11-10 05:12:25