Я пытаюсь создать форму node для настраиваемого типа. У меня есть органические группы и таксономия, которые включены, но хотят, чтобы их элементы выходили в нестандартном порядке. Поэтому я внедрил hook_form_alter
и установил свойство #weight
подмары og_nodeapi
на -1000, но он по-прежнему идет после таксономии и меню. Я даже попытался изменить подмассиву на набор полей (чтобы заставить его фактически отображаться), но не кубики. Я также попытался установить
$form['taxonomy']['#weight'] = 1000
(У меня есть два словаря, поэтому он уже отображается как набор полей), но это тоже не сработало.
Я установил вес моего модуля очень высоко и подтвердил в системной таблице, что он действительно самый высокий модуль на сайте - так что у меня все идеи. Любые предложения?
Update:
Пока я точно не знаю, как это сделать, мне удалось заставить поле таксономии опуститься ниже всего остального, но теперь у меня есть связанная с этим проблема, которую, мы надеемся, более легко понять. Внутри поля таксономии у меня есть два элемента (теги и мульти-выбор), и я хотел добавить некоторые инструкции в hook_form_alter следующим образом:
$form['taxonomy']['instructions'] = array(
'#value' => "These are the instructions",
'#weight' => -1,
);
Вы догадались, это появляется после терминов, вставленных модулем таксономии. Однако, если я изменил это на набор полей:
$form['taxonomy']['instructions'] = array(
'#type' => 'fieldset', // <-- here
'#title' => 'Instructions', // <-- and here for good measure
'#value' => "These are the instructions",
'#weight' => -1,
);
то он волшебным образом плавает к вершине, как я и предполагал. Я также попробовал textarea (это тоже сработало) и явное указание разметки (это не так).
Таким образом, изменение типа от "разметки" (по умолчанию IIRC) до "fieldset" приводит к тому, что больше не игнорируется его вес.