Есть страница создания новой учетной записи. На не есть блоки "Информация об учетной записи", "Персональная информация", captcha. Автоматически это раполагается так:
captcha
Персональная информация
Информация об учетной записи
Надо сделать:
Информация об учетной записи
Персональная информация
captcha
Как?
Комментарии
По моему этот порядок зависит от порядка выполнения соответствующих модулей, а он в свою очередь от названия модулей (в алфавитном порядке). Т.е. сначала выполняется модуль captcha, потом profile, потом user... В итоге имеем то что вы описали.
Как изменить порядок не знаю...
Знаю только два способа, кто подскажет третий?
Оба способа - суть один, но разная реализация.
Как у тебя называются поля не знаю (лень повторять), покажу на примере убирания формы лога на странице node/add в сворачивающийся бокс.
1. Темизируем вывод формы в теме.
В template.php создаём функцию
<?php
function НазваниеТемы_node_form($form) {
if (isset($form['log']))
$form['log'] = array(
'#type' => 'fieldset',
'#title' => t('Log'),
'#collapsible' => true,
'#collapsed' => true,
'#weight' => 20,
$form['log']
);
return theme_node_form($form); // вызываем оригинальную для окончания рендеринга
}
?>
2. создаём модуль и помещаем в него одну функцию:
<?php
function НазваниеМодуля_form_alter($form_id, &$form) {
if($form['#id'] == 'node-form'){
if (isset($form['log']))
$form['log'] = array(
'#type' => 'fieldset',
'#title' => t('Log'),
'#collapsible' => true,
'#collapsed' => true,
'#weight' => 20,
$form['log']
);
?>
Идея думаю понятна.
Удачи.
Макет страницы можно построить на http://drupal.org/project/panels