Drupal 7 未定义非函数-Drupal 7-JQuery对话框-无UI CSS

Drupal 7 未定义非函数-Drupal 7-JQuery对话框-无UI CSS,drupal-7,jquery-ui-dialog,Drupal 7,Jquery Ui Dialog,我学习了和等教程。乍一看,它们非常简单,比如如何将jqueryui添加到drupal7。尽管如此,当我应用它们时,我得到的只是函数对话框未定义。以下是我所做的: template.php function mytheme_preprocess_image(&$variables) { drupal_add_library('system','ui.dialog'); } chat_overlay.js jQuery(document).ready(function(){

我学习了和等教程。乍一看,它们非常简单,比如如何将jqueryui添加到drupal7。尽管如此,当我应用它们时,我得到的只是函数对话框未定义。以下是我所做的:

template.php

function mytheme_preprocess_image(&$variables) {
  drupal_add_library('system','ui.dialog');  
}
chat_overlay.js

jQuery(document).ready(function(){
    console.log("*********************Setting up click");
    jQuery('#small_chat_wrapper #chat_message').click(function(){
       console.log("*********************CLICKED CLICKED");
     if (typeof jQuery.ui !== 'undefined')
        console.log("loaded");
     else
        console.log("undefined");
     jQuery('#chat_overlay').dialog('open'); 
 });
})
控制台日志出色地打印出来,而如果检查则打印出加载的。尽管如此,当它到达
.dialog(..)
行时,会出现未定义错误。我不知道还能尝试什么。这么简单的一件事,它正在变得痛苦

非常感谢您的帮助

编辑:

站点的状态报告包含以下内容:

jQuery更新jQuery 1.7.1和jQuery UI 1.8.7

我的错误是:

函数mytheme\u预处理\u图像(&$variables)
更改为
函数mytheme\u预处理\u页面(&$variables)
。天哪

现在,未定义错误不再发生,但是,即使添加了ui类和div,ui CSS也不会通过(对话框不会弹出)


非常感谢您的帮助。

您应该在template.php的preprocess_html函数中或在您的module_init hook中加载所需的jquery库,如下所示:

<?php
  function yourmodule_init(){
    drupal_add_library('system', 'ui.dialog');
    drupal_add_library('system', 'ui.draggable');
    drupal_add_library('system', 'ui.sortable');
  }

?>


来源:

正在检查。。。当然,你有一个ID为“chat\u overlay”的元素吗。因此:。。。它的样式是“display:none”;是否包含完整的jQuery UI库?。。。下载时,它可以让你选择你想要的小部件。。。你有没有可能没有对话框?Drupal7默认附带jQueryUI,我从来没有下载过任何东西。由于Drupal 7附带了jQuery UI,因此jQuery UI模块已被弃用并移动到jQuery更新模块