[Решено] Не работает AJAX Poll в субтеме Zen

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

Аватар пользователя Artegoman Artegoman 11 мая 2013 в 0:35

Добрая ночь! после 3-х часового бессмысленного поиска решения данной проблемы обращаюсь на форум=)
Некорректно работает AJAX Poll в теме Zen. Если точнее, то после нажатия на кнопку "Голосовать" ничего не происходит. Приходится обновлять страницу, чтобы увидеть результаты опроса. Пробовал ставить этот модуль на чистую тему, менял версию jquery, всё безрезультатно. Проверял в других темах, там всё в порядке.
В чём может быть проблема несовместимости именно с темой Zen?

Комментарии

Аватар пользователя Koreychenko Koreychenko 11 мая 2013 в 6:48

Очень похоже на ошибку javascript. Посмотрите консольку браузера на предмет таких ошибок. Если javascript повалился, то естественно AJAX работать не будет.

Аватар пользователя Artegoman Artegoman 10 ноября 2015 в 11:49

Посмотрел через консоль Firebug'а, никаких ошибок не вижу (скрин прикрепил). Попробовал сделать тот же опрос на нетбуке с темой Zen. Результат аналогичен ПК.
Видимо, у AJAX и ZEN какая-то несовместимость. Но я не могу понять в чём)

Аватар пользователя Artegoman Artegoman 11 мая 2013 в 15:52

Попробовал создать опрос через Views. Там в предпросмотре опроса при нажатии на кнопку голосовать вылетает следующая ошибка. Может она хоть немного прольёт свет на проблему?
Возникла AJAX HTTP ошибка.
Полученный код HTTP: 200
Следует отладочная информация.
Путь: /admin/structure/views/view/poll/preview/block/ajax
СтатусТекстом
ОтветТекстом:
realty35
@import url("http://realty35/modules/system/system.base.css?mmmu07");
@import url("http://realty35/modules/system/system.menus.css?mmmu07");
@import url("http://realty35/modules/system/system.messages.css?mmmu07");
@import url("http://realty35/modules/system/system.theme.css?mmmu07");
@import url("http://realty35/modules/system/system.admin.css?mmmu07");
@import url("http://realty35/modules/contextual/contextual.css?mmmu07");
@import url("http://realty35/modules/comment/comment.css?mmmu07");
@import url("http://realty35/modules/field/theme/field.css?mmmu07");
@import url("http://realty35/modules/node/node.css?mmmu07");
@import url("http://realty35/modules/poll/poll.css?mmmu07");
@import url("http://realty35/modules/search/search.css?mmmu07");
@import url("http://realty35/modules/user/user.css?mmmu07");
@import url("http://realty35/sites/all/modules/views/css/views.css?mmmu07");
@import url("http://realty35/sites/all/modules/admin_menu/admin_menu.css?mmmu07");
@import url("http://realty35/sites/all/modules/admin_menu/admin_menu.uid1.css?mmmu07");
@import url("http://realty35/sites/all/modules/admin_menu/admin_menu_toolbar/admin_menu_toolbar.css?mmmu07");
@import url("http://realty35/modules/shortcut/shortcut.css?mmmu07");
@import url("http://realty35/sites/all/modules/ctools/css/ctools.css?mmmu07");
@import url("http://realty35/themes/seven/reset.css?mmmu07");
@import url("http://realty35/themes/seven/style.css?mmmu07");
Перейти к основному содержанию
Вы здесьГлавная » Управление » Структура » Представления Добавить в набор ярлыков Default
Статус
Ваш голос был учтен.
ЗаголовокРедактировать Заголовок
Опросник
СодержимоеКритерии фильтрации
Редактировать Содержимое: Опубликовано
Редактировать Содержимое: Тип
Добавить новый
Поля
Редактировать Содержимое: Заголовок
Добавить новый
Критерий сортировки
Редактировать Содержимое: Дата публикации
Добавить новый
Контекстные фильтры
Добавить новый
Отношения
Добавить новый
Нравится ли вам новый дизайн сайта?
Да, он бесподобен!
100% (1 голос)
Нет, он ужасен...
0% (0 голосов)
Всего голосов: 1

Аватар пользователя Koreychenko Koreychenko 12 мая 2013 в 10:37

У вас неправильно завершается AJAX запрос. Вместо того, чтобы отдавать ответ в JSON формате, отдается темизированная страница. Мне кажется, что тут не в теме дело.
Возможно, стоит прописать base_url, судя по всему вы на локалхосте разрабатываете.

Аватар пользователя Artegoman Artegoman 12 мая 2013 в 13:17

Проблема всё-таки была в теме=)
В файле node.tpl.php надо было обернуть следующий код дивом с классом content:
<?php
// We hide the comments and links now so that we can render them later.
hide($content['comments']);
hide($content['links']);
print render($content);
?>
Тогда всё работает=)

Аватар пользователя Artegoman Artegoman 12 мая 2013 в 13:30

У меня стоит тема Zen 7.5 c HTML5, в версии без HTML5 7.3 все прекрасно работало. Видимо, в 7.5 авторы темы решили убрать див с классом content по каким-то своим соображениям. Потому и не работало. В стандартных темах этот класс тоже присутствует=)
Не знаю, на drupal.org на страничках Zen и Ajax poll я нашёл мою проблему, но она там стоит без ответа))