Drupal 7在管理面板中添加内容时自定义该字段

时间:2012-08-14 02:50:45

标签: drupal

http://www.photouploads.com/images/customfiel.jpg

我已将分类法配置为内容类型的字段,但我想将复选框标签(使用iphone)替换为图像,该图像是该分类的图像字段(请参阅照片)。

现在我只知道通过添加代码来改变第290行的node.pages.inc:

$form['product_label'] = array(
    '#type' => 'checkboxes',
    '#title' => 'Checkboxes Title',
    '#title_display' => 'before',
    '#default_value' => array(0,2),
    '#options' => array(
      0 => 'option one',
      1 => 'option two',
      2 => 'option three', 
    ), 
    '#theme' => 'testmodule_checkboxes',
  );

product_label是复选框名称,上面的代码是覆盖当前复选框字段。但我认为这不是一个最好的方法.. 有人可以给我指路吗?什么模块或编码可以做到?

1 个答案:

答案 0 :(得分:0)

You shouldn't hack core (except in very few edge cases if you really know what you're doing).

这样做的最佳位置是你的主题。在template.php中,您需要使用hookhook_form_alter()来更改该特定表单。您可以找到有关FAPI(表单API)herehere的更多信息。

有几种方法可以改变表单以获得您想要的结果。最简单的方法是为每个表单项的attributes数组添加每个图标的唯一类。然后,您可以使用带有图标的replace the text CSS(这使得它更易于访问,因为屏幕阅读器仍然可以阅读文本)。