Как изменить форму создания ноды в D6

Главные вкладки

Аватар пользователя cosmos cosmos 17 ноября 2009 в 10:47

Мой вопрос выглядит так:
Как вывести измененную форму создания Ноды в 6 друпале?
Или почему не видно в form_alter cck полей ноды?

Раньше в 5ке я делал так

//вывод формы
$node_type = 'order';
$node = array('uid' => $user->uid, 'name' => $user->name, 'type' => $node_type);
print drupal_get_form($node_type.'_node_form', $node);

drupal_get_form('otrder_node_form');
//изменение полей формы в функции
mymodul_form_alter()

Делаю 6ке так

module_load_include('inc', 'node', 'node.pages');
$node_type = 'order';
$node = array('uid' => $user->uid, 'name' => $user->name, 'type' => $node_type);
print drupal_get_form($node_type.'_node_form', $node);

//изменение формы в функции
mymodul_form_alter()

но почему то в функции mymodul_form_alter()
не видно CCK полей

Комментарии

Аватар пользователя sas@drupal.org sas@drupal.org 18 ноября 2009 в 21:26

1) Наверно потому что Ваш выполняется до

<?php/**
 *  Implementation of hook_form_alter().
 */
function content_form_alter(&$form, $form_state, $form_id) {
  if (isset($form['type']) && isset($form['#node']) && $form['type']['#value'] .'_node_form' == $form_id) {
    $type = content_types($form['#node']->type);
    if (!empty($type['fields'])) {
      module_load_include('inc', 'content', 'includes/content.node_form');
      // Merge field widgets.
      $form = array_merge($form, content_form($form, $form_state));
    }
    $form['#pre_render'][] = 'content_alter_extra_weights';
    $form['#content_extra_fields'] = $type['extra'];
  }
} ?>

2) А управляется это в таблице system по полю weight