[РЕШЕНО] Не работает jquery аккордеон

Главные вкладки

Аватар пользователя Strycker Strycker 14 июня 2013 в 1:11

Коллеги,

Есть у меня одна нагруженная нода, в которой выводится много полей. Решил их сгруппировать по группам и вывести с помощью "аккордеона". Погуглил. Оказывается этот функционал встроен в ядро:

<?php
drupal_add_library
('system''ui.accordion');
drupal_add_js('jQuery(document).ready(function(){jQuery("#accordion").accordion();});''inline');
?>
<div id="accordion">
<h3><a href="#">Section 1</a></h3>
<div>Проверка работы аккордеона, секция 1</div>

<h3><a href="#">Section 2</a></h3>
<div>Проверка работы аккордеона, секция 2</div>

<h3><a href="#">Section 3</a></h3>
<div>Проверка работы аккордеона, секция 3</div>
</div>

Сделал такую штуку в шаблоне вывода ноды. Не работает. Добавил внутри ноды с фильтром вывода php. И тут самое интересное, нажимаю на "Предпросмотр" - аккордеон выводится в краткой версии, а в полной версии он не работает. Что за чертовщина?

Комментарии

Аватар пользователя Strycker Strycker 14 июня 2013 в 11:26

За ответ спасибо, конечно. Но если честно, я ничего не понял.
Догадываюсь, что речь идёт про отображение ноды. Но как в таком случае быть с неработающим аккордеоном в шаблоне вывода ноды?

Аватар пользователя MjM MjM 18 июня 2013 в 9:43

Спасибо за макет теста аккордеона, воспользовался им - всё работает

Я вставил в обычную страницу. Сначала набросал текст в full-HTML, потом сменил режим редактирования на PHP-code и вставил Ваш код:

<?php
drupal_add_library('system', 'ui.accordion');
drupal_add_js('jQuery(document).ready(function(){jQuery("#accordion").accordion();});', 'inline');
?>

Section 1

Проверка работы аккордеона, секция 1

Section 2

Проверка работы аккордеона, секция 2

Section 3

Проверка работы аккордеона, секция 3

Всё работает

Аватар пользователя Strycker Strycker 19 июня 2013 в 19:54

MjM wrote:
Спасибо за макет теста аккордеона, воспользовался им - всё работает

Я вставил в обычную страницу. Сначала набросал текст в full-HTML, потом сменил режим редактирования на PHP-code и вставил Ваш код:

<?php
drupal_add_library('system', 'ui.accordion');
drupal_add_js('jQuery(document).ready(function(){jQuery("#accordion").accordion();});', 'inline');
?>

Section 1

Проверка работы аккордеона, секция 1

Section 2

Проверка работы аккордеона, секция 2

Section 3

Проверка работы аккордеона, секция 3

Всё работает

А какая версия друпал у Вас стоит? У меня как не работало, так и не работает.

Аватар пользователя Strycker Strycker 16 июля 2013 в 18:58

Решил. Проверкой стало переключение на штатную тему - гарланд. Там всё работало отлично.
Поэтому поискав в папке моей самодельной темы, я нашёл файл jQuery старой версии - themes/mytheme/js/jquery.js.
Где и как он подключается, я найти не смог. Поэтому просто его удалил и всё заработало.

Правда после этого Друпал стал ругаться на отсутствие файла, поэтому пришлось создать пустой файл и проблема решилась.

Был бы очень благодарен, если кто-то подскажет где обычно в теме подключается js. Чтобы уж совсем хорошо всё сделать.

Аватар пользователя Strycker Strycker 16 июля 2013 в 19:24

Grayw0lf wrote:
возможно в info файле темы а также через хуки в template.php, учите матчасть.

Про это знаю, смотрел: ни там, ни там нету. Ещё где может быть?

Аватар пользователя Grayw0lf Grayw0lf 17 июля 2013 в 19:32

"Strycker" wrote:
Про это знаю, смотрел: ни там, ни там нету. Ещё где может быть?

Ну тогда еще посмотреть темплейты в теме.

Аватар пользователя igorek igorek 18 июня 2015 в 10:07

Решил написать, хотя может это уже и не актуально, но всё же это - 100% найти - где подключается файл?

  1. Скачиваем весь сайт с сервера к себе на комп, (если его там ещё не было)
  2. Заходим в Total Commander - переходим в нужную папку и нажимаем - Поиск файлов (Alt + F7)
  3. В поле "Искать файлы" - пишем название файла, который нужно найти. Поле "Место поиска" уже пропишется то, где мы выбрали папку.
  4. Расширенной возможностью является ещё одна строка - "С текстом" - можно найти все файлы содержащие определённый текст. Это, если мы не знаем названия файла или знаем только текст для поиска.
  5. Профит.

Вы прописываете в поле "С текстом" - название файла. Поле "Искать файлы" - оставить пустым. Получите все файлы где написано название файла.