#drupal #drupal-views
#drupal #drupal-представления
Вопрос:
Это относится к Drupal 6 и Views 2.
Я не новичок в Drupal, но я новичок в проблемном использовании представлений.
У меня есть пользовательский вид, определенный в модуле, который интегрирован с такими данными (я думаю):
$view->base_table = 'tblName';
Я интегрирую сторонний API. Он возвращает мне довольно ванильный PHP-объект.
Мне нужен способ, чтобы список, возвращаемый из этого API, становился базовой таблицей для представления «на лету». Возможно ли это? Уродливое решение, о котором я думал, заключалось в том, чтобы сделать каждый возвращаемый элемент узлом, а затем использовать их в качестве «base_table». Я думаю, что это сработало бы, но это кажется уродливым. Я не хочу, чтобы куча узлов зависала на потом.
Есть предложения? Спасибо.
Ответ №1:
Я не уверен, что это хорошая идея, но в итоге я создал процедуру, основанную на механизме кэширования Drupal. Я удаляю и создаю таблицу «на лету» и передаю эту таблицу представлениям. Таблица заполняется API каждые пять минут. Его можно принудительно повторно заполнить, очистив кэш Drupal.
Я пытался использовать временные таблицы MySQL, но они сохранялись недостаточно хорошо. Интересно, есть ли способ сделать их более устойчивыми к подключению или длиться определенное время.