jQuery UI主题


8

我想在我的模块中使用themeroller的自定义jQuery UI主题。最好的方法是什么?


我无法创建jQuery UI标签。
ya.teck 2011年

它不能用空格隔开,否则它会理解它们是2个不同的标签:)
Alex Weber

这是用jQuery Ui标记的第一个问题。我无权创建新标签:)
ya.teck 2011年

您对哪个Drupal版本感兴趣?
kiamlaluno

我使用Drupal的7
ya.teck

Answers:


6

假设您正在使用jquery_ui模块,那么您要做的就是:

  • 根据模块的README.txt中的指示,从ThemeRoller 构建包括自定义主题的jQuery UI 的自定义下载,并将其复制到jquery_ui文件夹下
  • 或者,您可以只构建自定义主题,将其下载,然后将其复制到jQuery UI的主题目录中

编辑:

但是,由于Drupal 7已经附带了最新的jQuery UI,您所要做的就是下载您的自定义jQuery UI主题,并使用以下方法之一将其包括在内:

  • 将目录复制到主题的文件夹,并将css文件包含在主题的.info中
  • 创建一个自定义模块,并实现hook_init()并使用drupal_add_css()添加自定义样式表:

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


我还没有找到drupal 7版本的jquery_ui,并且我不认为将文件压缩到drupal核心目录中是最好的方法。
ya.teck 2011年

我不好,我同意,我编辑了我的原始帖子来解决此问题:)
Alex Weber

drupal_add_css不只是添加新的CSS文件而不替换它们吗?我将仅在单个页面上使用jQuery UI。
ya.teck 2011年

drupal_add_css替换具有相同名称的文件,因此,例如,如果您将css命名为“ jquery.ui.theme.css”,它将使用它而不是默认版本
Alex Weber

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';
  }
}

进行相应的修改-即用主题名称替换“七个”,然后将路径指向jQuery UI主题的CSS文件。


3

如果通过添加UI 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生成的UI,并将这些UI附加到Drupal主题。然后使用模块模块(例如块类 /节点类/ webform css等)为Drupal中的元素设置jquery UI CSS类。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.