JQuery UI Темы


8

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


Я не мог создать тег JQuery UI .
я.тек

он не может быть разделен пробелами, иначе он понимает, что это 2 разных тега :)
Алекс Вебер

Это первый вопрос с тегом jQuery Ui . У меня нет разрешения на создание нового тега :)
ya.teck

Какая версия Drupal вас интересует?
kiamlaluno

Я использую Drupal 7.
ya.teck

Ответы:


6

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

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

РЕДАКТИРОВАТЬ:

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

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

    function mymodule_init () {$ options = array ('group' => CSS_THEME, 'every_page' => TRUE, 'weight' => 9999); drupal_add_css (drupal_get_path ('module', 'mymodule'), 'mymodule.css', $ options); }


Я не нашел версию jquery_ui для drupal 7 и не думаю, что копирование моих файлов в основной каталог drupal - лучший способ.
я.тек

Мой плохой, согласился, я отредактировал свой оригинальный пост, чтобы исправить это :)
Алекс Вебер

Разве drupal_add_css не добавляет новые файлы CSS, а не заменяет их? Я собираюсь использовать jQuery UI только на одной странице.
я.тек

drupal_add_css заменяет файлы с одинаковыми именами, поэтому, если вы назовете свой css 'jquery.ui.theme.css', например, он будет использоваться вместо версии по умолчанию
Алекс Вебер

3

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

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 UI.


3

Если вы добавляете интерфейс через 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();
}

1
Я думаю, что это лучший метод, потому что, скорее всего, он будет зависеть от конкретного модуля. Кроме того, это сработало для меня.
Брэндон Берден

2

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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.