добавить JavaScript в Drupal - PullRequest
       21

добавить JavaScript в Drupal

1 голос
/ 01 ноября 2011

Я пытаюсь протестировать jqScheduler для PHP в модуле CMS Drupal.

When $ 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 Ответ

1 голос
/ 01 ноября 2011

Вам необходимо вернуть $eventcal->render(); из функции обратного вызова вашей страницы, затем она будет добавлена ​​в область содержимого как обычно.

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

  return $eventcal->render();
}

Надеюсь, что это поможет, убедитесь, что вы принимаете ответы на свои предыдущие вопросы, если они вам помогли (см. в этом посте, чтобы узнать, как это сделать ). Люди будут гораздо более склонны помогать в будущем, если вы покажете, что цените время, которое они потратили на помощь вам ... вы можете сделать это, приняв эти ответы: -)

...