如何在内容类型Drupal 7中修改输入表单

时间:2012-12-18 06:22:29

标签: drupal input drupal-7 theming

任何人都可以帮助我吗? 我有很多时间环顾四周来解决这个问题。 现在我知道了,如何制作新的内容类型以及如何设置其输出主题。 这很简单。只需在我的模板文件夹中创建一个'node-content-type-name.tpl.php'文件。 现在我想要主题输入表格。

当我找到它时,只是说,制作一个新模块或在template.php中放入一些代码 但我尝试了数千次,但我没有做出任何结果。 我想我不太了解它。它太难了,只是制作一个tpl.php文件。

所以,我的问题是。

  1. 有没有办法制作输入主题文件,如node - content - edit.tpl.php? (我发现,在页面的情况下,制作一个页面 - 节点 - 添加 - content-type.tpl.php)

  2. 我是否必须制作自定义模块?如果我想在内容类型中输入主题?

  3. 有人说,将theme()函数放在site / all / theme / bartik文件夹中的template.php中。 我在下面放了一个代码,但它没有用。我错过了什么吗?

  4. 内容类型名称:mycontent

    function mycontent_theme() {
        return array(
            'mycontent_node_form' => array(
            'agruments' => array('form' => NULL),
            'template' => 'mycontent-node-form',
            ),
        );
    }
    

    然后我在site / all / theme / bartik / template文件夹中创建了mycontent-node-form.tpl.php文件 我只是随机添加文字。 (adsfasdfkajsdhfkash) 但什么都没发生。

    实际上我只想在我的内容类型(INPUT)中创建一个协议框 但我花了很多时间。任何人都可以帮助我吗?

1 个答案:

答案 0 :(得分:1)

  

有人说,将theme()函数放在site / all / theme / bartik文件夹中的template.php中。我在下面放了一个代码,但它没有用。我错过了什么吗?

您应该使用主题的简称,而不是mycontent。如果要将其添加到Bartik主题,则函数名称应为bartik_theme(),而不是mycontent_theme()

您使用的代码包含拼写错误:它是参数,而不是 agruments 。但是,Drupal 7中没有使用该属性。 Drupal 7使用变量渲染元素

function bartik_theme() {
  return array(
    'mycontent_node_form' => array(
      'render element' => array('form' => NULL),
      'template' => 'mycontent-node-form',
    ),
  );
}

另外注意,如果要向已启用的模块/主题添加功能,则需要先禁用它,然后重新启用它,因为Drupal会缓存模块/主题实现的某些功能的名称。

相关问题