Php Drupal模块页面中的Visualsearch.js

Php Drupal模块页面中的Visualsearch.js,php,javascript,jquery,drupal-6,Php,Javascript,Jquery,Drupal 6,我在Drupal模块页面上设置和运行控件时遇到问题。我使用的javascript与demo.html脚本块中的完全相同,您可以在下载zip包中找到它,或者通过查看他们网站的演示源代码找到它,我将其复制并粘贴到一个单独的javascript文件中。我还按照demo.html中定义的顺序在Drupal模块中加载了所有css和javascript依赖项 Drupal代码 我在纯html/javascript环境中运行了完全相同的设置,一切正常。也就是说,我制作了一个html页面,该页面加载了依赖项并包

我在Drupal模块页面上设置和运行控件时遇到问题。我使用的javascript与demo.html脚本块中的完全相同,您可以在下载zip包中找到它,或者通过查看他们网站的演示源代码找到它,我将其复制并粘贴到一个单独的javascript文件中。我还按照demo.html中定义的顺序在Drupal模块中加载了所有css和javascript依赖项

Drupal代码


我在纯html/javascript环境中运行了完全相同的设置,一切正常。也就是说,我制作了一个html页面,该页面加载了依赖项并包含了如上所示的html。然后,我有一个单独的脚本,其中包含从demo.html脚本块提取的代码。

我找到了这个问题的解决方案

在visualsearch的演示实现中,容器引用visualsearch div的id属性。为了visualsearch在Drupal中工作,容器必须引用class属性

Drupal模块

<?php

    function mymodule_menu() {
        $items = array();

        $items['mymodule'] = array(
            'title' => 'MyModule',
            'page callback' => 'mymodule_main',
            'access callback' => TRUE,
            'type' => MENU_NORMAL_ITEM
        );

        return $items;
    }

    function mymodule_main() {

        drupal_add_css(absolute paths of all css dependencies);
        drupal_add_js(absolute paths of all javascript dependencies (in order), followed by the standalone javascript file that contains the code extracted from the demo.html script block);

        return "
            <div id=\"VS\" class=\"container\">
                <div id=\"searchbox\"></div>
                <div id=\"feedback\"></div>
            </div>";
    }
...
return "<div id=\"searchbox\" class=\"searchbox\"></div>";
window.VisualSearch = VS.init({
    container : $('.searchbox'),
    ....