Не работает пагинация таблицы

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

Аватар пользователя Frenk Frenk 18 февраля 2017 в 0:26

Господа, пытаюсь реализовать пагинацию таблицы, перепробовал несколько разных способов, но в любом случае Drupal матерится одинаково.
Пробовал и так http://www.drupal.ru/node/129467 и так http://xandeadx.ru/blog/drupal/440 (https://www.drupal.org/node/508796).
Пытался найти решение, проблема оказывается массовая, но решения так и не нашел.
ошибка

ВложениеРазмер
Иконка изображения Ошибка20.33 КБ

Комментарии

Аватар пользователя jsv jsv 18 февраля 2017 в 2:25

Странный вопрос. Вы же пишете функцию, у вас аякс - вон, по ошибке не видите что ли? Где вы его ввели - оттуда и уберите

Аватар пользователя Frenk Frenk 18 февраля 2017 в 2:51

Я задал странный вопрос, потому что Вы странный метод предлагаете - просто избавиться от аякса в модуле. Аякс я использовал при работе с формами, работает корректно. Конкретно в этой функции я не применял аякс, не понимаю почему он матерится.

Аватар пользователя bumble bumble 18 февраля 2017 в 11:55

А давайтека, весь код (можно без логики, абы суть работы была понятна).
Чую где-то Вы форму передаете, где ее не должно быть...

Аватар пользователя Frenk Frenk 6 июня 2017 в 18:18

Все же поясню логику, чтобы понятно было. Сначала выводим выпадающий список с параметрами: за текущую неделю, за текущий месяц, за все время, свой вариант. При нажатии на один из первых трех - отрисовываем таблицу с данными за соответствующий промежуток времени. При нажатии на "свой вариант" выводим рядом 2 текстовых поля с datepicker и кнопку. При нажатии на кнопку - проверяем нет ли пустых полей, если не пустые - отрисовываем таблицу за заданный промежуток времени.

Аватар пользователя bumble bumble 18 февраля 2017 в 18:24
1

Мда...
Код конечно - плакать охота. И это при том что я не самый "придирчивый" и капризный.
Ок. На всем заострять внимание не буду, несколько моментов:

<?php
'deleteme_create_forms_check_fields'
?>

Это что? Она указана и как валидатор к непонятно чему, и как AJAX-коллбек.
Ф-ция валидации не должна ничего возвращать.

<?php
$header 
= array();
// ...
$header = array(
  
// ...
);
?>

Тут:
Дабл объявление переменной.

<?php
if ($number == 0) {
    return 
$output;
  }

// ...

if ($number == 4) {
    return 
$output;
  }
$output .= deleteme_get_table($date_interval_type);
?>

Тут:

  1. переменная $output не объявлена
  2. аргументы в ф-цию deleteme_get_table переданы не все

Указанной в ТОП'е ошибки добиться не удалось. Запросы - не вглядывался, возможно в них траблы...

ЗЫ - поставьте себе, чтоли, IDE или просто хороший редактор PHP, желательно с поддержкой Drupal. Это уже поможет, хотя бы, видеть элементарные ошибки.

Аватар пользователя Frenk Frenk 18 февраля 2017 в 20:02

Хм, а ведь друпал даже не ругался на эти ошибки и правильно отрабатывал всю логику)) Указанные недочеты подправил, но ошибка аякс в пагинации так и осталась. Может проблема в настройках Open Server? Apache 2.4, PHP-5.6, MySQL-5.5.

Аватар пользователя bumble bumble 18 февраля 2017 в 20:09
1

Frenk wrote:

..а ведь друпал даже не ругался на эти ошибки..

В журнале посмотрите.

Frenk wrote:

Может проблема в настройках Open Server? Apache 2.4, PHP-5.6, MySQL-5.5.

Не, вряд ли.

Аватар пользователя Frenk Frenk 18 февраля 2017 в 21:51

Все таки придется избавиться от аякса, так как без него пагинатор вполне успешно начинает работать. Но вот не пойму как без аякса назначить кнопке 'button' свою callback функцию, в которой можно вернуть таблицу? Ведь в submit не получается вернуть $output с таблицей.

Аватар пользователя bumble bumble 18 февраля 2017 в 21:56

Вы, "не в ту сторону" думаете. Вам нужно AJAX-commands пользовать, а не велосипеды городить.
Тогда все будет - и аякс, и таблицы...

Аватар пользователя Frenk Frenk 21 февраля 2017 в 1:11

К сожалению, в аякс команды так и не врубился. Вот здесь вроде есть решение проблемы, но как адаптировать код под себя - не врубаюсь. Какой же сущий мрак все эти php-шные и ajax-овские дела, для человека, начинавшего с C#)))