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