У меня есть пользовательский тип узла, для которого я хочу иметь поле, которое использует специальный комбинированный список на основе list_text
.Когда выбирается тип list_text
, обычно можно ввести статический список выбираемых текстов, однако я хочу, чтобы этот список был динамическим, то есть основанным на результатах db_query
.Каков наилучший способ сделать это с помощью Drupal 7?
Простой пример для пояснения: узел этого пользовательского типа X содержит поле, которое указывает на другой узел, поэтому всякий раз, когда создается узел типа X, яхочу комбинированный список, содержащий все остальные узлы.
(Лучшее решение - отображать комбинированный список только при создании узла, а не при редактировании. Но я мог бы также жить с ним, если во время редактирования отображался комбинированный списока также.)
Я пытался настроить options_select
, определив свой собственный тип данных и реализовав hook_options_list
соответственно.При создании отображался комбинированный список с правильными значениями, однако я не смог его сохранить. Я понятия не имею, что там пошло не так, но при первой отправке он изменится на другую тему, и при повторной попытке я получилВнутренняя ошибка сервера.Я на правильном пути вообще с определением совершенно нового типа данных для поля?там наверняка должно быть проще?