Я не уверен, почему это происходит, нет веских оснований для того, чтобы ваш элемент отображался внутри оболочки для кнопки отправки.
Однако простым решением было бы использование #prefix
атрибут на кнопке отправки, который гарантировал бы, что ваша разметка была отображена непосредственно перед упаковщиком для кнопки отправки:
$form['submit']['#prefix'] = '<div>–or–</div>';
ОБНОВЛЕНИЕ
Просто для внесения изменений,Я думаю, что то же самое решение может быть применено, если вместо этого установить #prefix
элемента distance
:
$form['distance']['#prefix'] = '<div>–or–</div>';
Возможно, что есть какой-то дополнительный формат, выполненный другим модулем, который реализует hook_form_alter
, который происходит сбеги за своей, испортить свою хорошую работу.Применяя префикс к элементу distance
, вы убедитесь, что он идет непосредственно перед элементом field_school_name_value
.
Я должен упомянуть, что у меня возникли проблемы именно с этим при обращении к массивучлен предоставленного $form
(который вы делаете с $school = &$form['field_school_name_value'];
).В качестве дополнительной проверки работоспособности я бы порекомендовал изменить этот бит кода на это и посмотреть, поможет ли он (попробуйте это перед другим предложением, приведенным выше, поскольку это может просто исправить):
$form['field_school_name_value']['#attributes'] = array('size' => 15);
$form['field_school_name_value']['#weight'] = 1;
вместо
$school = &$form['field_school_name_value'];
$school['#attributes'] = array(
'size' => 15,
);
$school['#weight'] = 1;