Drupal表单编辑和条件字段

时间:2009-09-30 15:52:48

标签: drupal forms

我的template.php文件中有以下内容:

function theme098_theme() {
  return array(
    'email_node_form' => array(
      'arguments' => array('form' => NULL),
    )
  );
}

和...

function theme098_email_node_form($form) {
    return drupal_render($form);
}

我已经排除了我实际修改表单的代码并将其删除,以便不会发生任何修改。出现两个问题:

  1. 物品的顺序(即它们的重量)搞砸了。保存按钮位于顶部等。即使我尝试通过设置重量来编辑表单,保存按钮STILL也会显示在顶部。
  2. 真正的问题:条件字段不起作用。出于某种原因,我认为这会覆盖其他模块应该做的事情?我不确定
  3. 任何人都能解释一下吗?

1 个答案:

答案 0 :(得分:2)

3件事。

  1. 在这种情况下,您应该使用hook_form_alter(),如果您想更改顺序或更改表单,而不是使用主题功能来更改它。保持演示和逻辑分离。
  2. 使用hook主题定义主题函数时,应将其称为theme_xxx而不是themename_ / modulename _。
  3. 模块(和可能的主题)具有权重,用于确定它们使用hook _ * _ alter等函数运行的顺序。查看devel模块的安装文件,了解如何完成此操作。
  4. 这些事情中的一项或多项应该会帮助你。