JQuery UI Темы

8

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

ya.teck
источник
Я не мог создать тег 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 и т. Д.

fishfree
источник