Невозможно добавить несколько файлов .JS в template.php в Drupal 7Php

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Невозможно добавить несколько файлов .JS в template.php в Drupal 7

Сообщение Anonymous »

В моем template.php, который существует в каталоге моей темы, есть этот метод:

Код: Выделить всё

            function vocabt_process_page(&$vars) {

drupal_flush_all_caches();

// Try to add js per page
$alias = drupal_get_path_alias($_GET['q']);
$file = $vars['directory'].'/js/'.str_replace('/', '-', $alias).'.js';
if(file_exists($file)) {
drupal_add_js($vars['directory'].'/anythingslider/anythingslider.js');
drupal_add_js($vars['directory'].'/anythingslider/jquery.anythingslider.video.min.js');
drupal_add_js($file);

}

$vars['title_sub'] = '';
$vars['page_icon'] = '';
$content_class = array();
switch($alias) {
case 'home':
drupal_add_css(drupal_get_path('theme', 'vocabt') . '/anythingslider/css/anythingslider.css');
$test = drupal_add_js(NULL, NULL, NULL);
error_log(print_r($test,1));
unset($vars['title']);
break;
//other pages
}
if(drupal_match_path($alias, 'scores/admin/*')) {
//      $vars['title_sub'] = 'Check your student\'s scores by entering your information below.';
$vars['page_icon'] = 'graph';
}

if($vars['page_icon']) {
$content_class[] = 'icon-65';
}
if($vars['page']['sidebar_right']) {
$content_class[] = 'twocol';
}
$vars['content_class'] = implode(' ', $content_class);

// Since the title and the shortcut link are both block level elements,
// positioning them next to each other is much simpler with a wrapper div.
if (!empty($vars['title_suffix']['add_or_remove_shortcut']) && $vars['title']) {
// Add a wrapper div using the title_prefix and title_suffix render elements.
$vars['title_prefix']['shortcut_wrapper'] = array(
'#markup' => '',
'#weight' => 100,
);
$vars['title_suffix']['shortcut_wrapper'] = array(
'#markup' => '',
'#weight' => -99,
);
// Make sure the shortcut link is the first item in title_suffix.
$vars['title_suffix']['add_or_remove_shortcut']['#weight'] = -100;
}
}
По сути, домашняя страница загружает jquery, Anyslider.js, затем home.js

внутри home.js I просто имейте:

Код: Выделить всё

    (function($) {

$(document).ready(function() {
alert('asdf');
$('#gallery').anythingSlider();

});

})(jQuery);
Моя проблема в том, что когда я загружаю домашнюю страницу... я получаю ошибку JS:

Код: Выделить всё

Uncaught TypeError: Object [object Object] has no method 'anythingSlider'
Это наводит меня на мысль, что библиотека Anyslider не была правильно импортирована. Может ли кто-нибудь сказать мне, как успешно выполнить этот быстрый/грязный импорт Anyslider.js? (имейте в виду, что он уже размещен ПОСЛЕ home.js). Спасибо!

Подробнее здесь: https://stackoverflow.com/questions/168 ... n-drupal-7
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»