2011-11-01 83 views
1

我想在Drupal CMS模塊中測試jqScheduler for PHP。在drupal中添加javascript

當$ eventcal-> render();函數在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 & JA文件添加此類似代碼

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

回答

1

你需要從你的頁面的回調函數返回$eventcal->render();,然後將它添加到內容區域像平常一樣。

function mymodule_page_callback() { 
    drupal_add_js('...'); 
    drupal_add_css('...'); 

    return $eventcal->render(); 
} 

希望幫助時,請確保您接受的答案,以前的問題,如果他們已經幫你(見this post for details of how to do this)。如果你已經表明你很欣賞他們花在幫助你的時間,那麼人們將會更加傾向於幫助...你可以通過接受這些答案來做到這一點:-)

+0

我正在使用return但不起作用 –

+0

好吧,我得到它,'render()'直接輸出到緩衝區,它不會返回呈現的日曆。這很容易解決,但我不願意告訴你,直到你接受你以前的問題的答案......這是一個社區,所有成員都需要參與該社區:-) – Clive