Я пытаюсь создать простой слайдер изображения на первой странице моего сайта drupal. Я написал модуль с основным контуром следующим образом:Drupal 6 javascript в блоке модуля для главной страницы
<?php
function slider_init(){
drupal_add_js(drupal_get_path('module', 'slider') .'/slider.js');
}
function slider_block($op = 'list', $delta = 0, $edit = array()) {
$block = array();
switch ($op) {
case "list":
// Generate listing of blocks from this module, for the admin/block page
$block[0]["info"] = t("slider");
break;
case "view":
// Generate content for blocks from this module
$block_content = "";
$block_content .= "hello";
//Query for the projects
$icons = db_query("SELECT * FROM {alumni_frontpage_projects}");
//Initiation arrays from each table column: title, description, url, icon link
$links = array();
$title = array();
$description = array();
$url = array();
//Generate arrays from each table column: title, description, url, icon link
while($icon_data = db_fetch_array($icons)){
$links[] = $icon_data['slider_image_location'];
$title[] = $icon_data['title'];
$description[]= $icon_data['description'];
$url[] = $icon_data['url'];
}
//Count elements in array and randomly choose one
$res = count($links)-1;
$seed = rand(0,$res);
//Generate HTML and Javascript of Slider
//Check that content isn't empty
if ($block_content == "") {
$block_content = t("Sorry No Content");
}
$block["content"] = $block_content;
break;
case "save":
break;
case "configure":
break;
}
return $block;
}
Теперь все в порядке. Я генерирую блок, и я могу разместить его везде, где захочу. Отлично. Но Мне бы очень хотелось использовать javascript в этом блоке, чтобы я мог передавать массивы и использовать события onclick для перемещения по некоторым изображениям из массивов, которые я запросил. Итак, я узнал, что мне придется передать переменные в javascript, и мне нужно будет определить файл javascript, который я хочу использовать в модуле.
//add variable to the Javascript
drupal_add_js(array('slider_settings' => array('variable_name' => $variable_name)), 'setting');
//add Javascript file to module
drupal_add_js(drupal_get_path('module', 'slider') .'/slider.js');<br>
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Я положил их в hook_init НО НИЧЕГО НЕ ПРОИСХОДИТ! !!!! Я тестировал, чтобы видеть основные предупреждения. Если я помещаю жесткий код в _block, например:
$block_content .= '
<script type="text/javascript">
var x
x = 50;
document.write(x); //prints the value of x
</script>';
Затем я вижу отпечатки «50».
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Если я попытаюсь передать переменную в жесткий код. Это НЕ РАБОТАЕТ. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Если я попытаюсь написать 50 через предыдущий код, но из отдельный файл с именем slider.js, который находится в той же папке, с помощью «drupal_add_js (drupal_get_path ('module', 'slider'). '/ slider.js');", который НЕ РАБОТАЕТ (хотя я не пропуская переменную)
Так что, черт возьми! Возможно ли, что мне не хватает некоторых важных файлов drupal? Есть ли способ справиться с этим?
Спасибо!
Хорошо, я подтвержу это. – ingrid