Дано: Drupal 7, график, который надо строить на основе небольшого json, получаемого с сервера.
Проблема - получать json надо быстро. Через hook_menu - бустрапится весь друпал, хотя нужна одна запись из одного SQL-запроса по одной таблице.
Вопрос: как максимально шустро получать данные? Пока самый простой вариант, который вижу - делать запросы вообще мимо друпала, просто из своего файлика в корне. Второй вариант - какой-то промежуточный кэш. Но это чё-то как-то не так.
Модуль js пробовал, но он какой-то сильно недружелюбный для клиентского кода, т.е. в нём нельзя тупо $.get() на урл использовать.
Комментарии
Вариант, но сцыкотно ))... Как минимум, нужно будет реализовать защиту от всяческих инъекций. Да и не "наш метод" это.
Я не работал с этим модулем, но давно на него смотрю. По идее (из прочитанного) - все должно работать. Если не секрет - покажите как реализовываете коллбеки. Там не просто хук_меню должен быть, а свои:
Возможно не указана проверка доступа к коллбеку:
28 * access to the callback. If set, the minimum bootstrap level must be
29 * DRUPAL_BOOTSTRAP_SESSION to ensure proper access validation against the
30 * current user. WARNING: If not set, no access checks are performed at all.
31 * Defaults to "user_access" if the below option (access arguments) has
32 * a value.
PS - Возможно есть смысл посмотреть в сторону REST.
Модуль js - у меня заработал, просто не понравился. Я думал, что он предоставляет свои аналоги hook_menu для запросов, а как выяснилось - он просто шлёт в POST-данных какой колбэк использовать, и все запросы идут на /js.
Мимикрировать это поведение в своём js - тот еще гемморой, документация не оч, по коду у них тоже сходу не понятно, как там эти идентификаторы высчитываются.
Ну нравится не нравится - пока модуль js заюзаю, а в сторону REST - смотрю, всё равно скоро понадобится.
restful попробовал. Модуль клёвый. Документация ужасна - не вся, на две версии одновременно и, что самое страшное, врёт. Работает даже медленней, чем просто hook_menu. =\ Ну или не разобрался.
Пока заюзал модуль js. Может попозже пост-гайд запилю небольшой. Штука клёвая, но имхо кривоватая.