在drupal中添加javascript


add javascript in drupal

我正在尝试在Drupal CMS模块内测试PHP的jqScheduler。

当eventcal ->渲染();函数在Drupal模块中调用,则在<html>部分之前,在页面开头之外生成以下代码。

<style type=text/css>/*
    Document   : calendar
.
.
.
<script type='text/javascript'>jQuery(document).ready(function() {jQuery.datepicker...
<html xmlns="http://www.w3.org/1999/xhtml" lang="fa" xml:lang="fa">
<head>

有没有办法拦截上面的代码,这样我就可以把它们放在我需要的地方。

的例子:

$output = "<script type='text/javascript'>jQuery(document).ready(function() .... </script>";

我添加了css &java文件添加了如下代码

     function study_jqScheduler() {
          drupal_add_css('sites/all/libraries/jqgrid/themes/redmond/jquery-ui-1.8.16.custom.css');
        drupal_add_css('sites/all/libraries/jqgrid/themes/jquery.ui.tooltip.css');
      drupal_add_css('sites/all/libraries/jqgrid/themes/ui.jqscheduler.css');  
drupal_add_js('sites/all/libraries/jqgrid/js/jquery-ui-custom.min.js');
drupal_add_js('sites/all/libraries/jqgrid/js/jquery.js');
 drupal_add_js('sites/all/libraries/jqgrid/js/jquery.jqScheduler.min.js');
require_once "sites/all/libraries/jqgrid/php/jqUtils.php";
require_once "sites/all/libraries/jqgrid/php/jqScheduler.php";
require_once "sites/all/libraries/jqgrid/php/jqGridPdo.php";
require_once "sites/all/libraries/jqgrid/jq-config.php";
    global $base_path;
    $base_path1=drupal_get_path('module', 'study');
    // Set the url from where we obtain the data
ini_set("display_errors",1);
$conn = new PDO(DB_DSN,DB_USER,DB_PASSWORD);
$conn->query("SET NAMES utf8");
$eventcal = new jqScheduler($conn);
$eventcal->setLocale('en_GB');
$eventcal->setUrl($base_path.$base_path1.'/eventcal.php');
$eventcal->setUser(1);
$eventcal->setUserNames(array('1'=>"Calender User 1",'2'=>"Calendar user 2",'3'=>"Calendar user 3") );
$eventcal->multiple_cal = true;
$output.= $eventcal->render();
     return $output;
}

您需要从页面回调函数返回$eventcal->render();,然后它将正常添加到内容区域

function mymodule_page_callback() {
  drupal_add_js('...');
  drupal_add_css('...');
  return $eventcal->render();
}

希望这对你有帮助,如果你之前的问题对你有帮助,请确保你接受他们的答案(详见这篇文章)。如果你对别人花时间帮助你表示感谢,人们将来会更愿意帮助你。您可以通过接受这些答案来做到这一点:-)