Drupal 7 Drupal 7是否向我的内容类型中的每个分组部分添加标题?

Drupal 7 Drupal 7是否向我的内容类型中的每个分组部分添加标题?,drupal-7,drupal-fields,drupal-content-types,Drupal 7,Drupal Fields,Drupal Content Types,我创建了一个内容类型,它有大约5个组,都是垂直选项卡 由于某些原因,字段组标签不适用于垂直选项卡。标记始终为:垂直选项卡。无论在管理字段中设置了什么,标题始终是垂直选项卡,并且类元素始终不可见 我在一些使用垂直标签的主题中注意到了完全相同的事情 我还注意到,这些主题在每个垂直选项卡上都有一个额外的标题标记,它显示了该组的标题。()就是一个很好的例子 不管怎样,对于实际问题 如何向内容类型中的每个分组部分(垂直选项卡)添加标题 注意:这是用于添加内容的实际表单,而不是用于显示 创建的内容的名称 非

我创建了一个内容类型,它有大约5个组,都是垂直选项卡

由于某些原因,字段组标签不适用于垂直选项卡。
标记始终为:
垂直选项卡
。无论在
管理字段中设置了什么,标题始终是
垂直选项卡
,并且类
元素始终不可见

我在一些使用垂直标签的主题中注意到了完全相同的事情

我还注意到,这些主题在每个垂直选项卡上都有一个额外的标题标记,它显示了该组的标题。()就是一个很好的例子

不管怎样,对于实际问题

如何向内容类型中的每个分组部分(垂直选项卡)添加标题

注意:这是用于添加内容的实际表单,而不是用于显示 创建的内容的名称

非常感谢您的帮助。

用于向内容类型添加标题。例如,如果您的内容类型名为mycontent,则在主题文件夹中创建以下脚本:

{theme path}/page--node--mycontent.tpl.php
要预处理内容类型,请使用以下函数:

function mycontent_preprocess_page(&$vars) {
    if (isset($vars['node']->type)) { 
        $vars['theme_hook_suggestions'][] = 'page__' . $vars['node']->type;
    }
}

有关template_preprocess_page功能的更多信息,请参见

您可以在主题的template.php或自定义模块中自定义内容类型表单。这是有案可查的。例如,如果您的主题MYMODULE中有一个使用自定义内容类型文章的自定义模块,则可以进行如下自定义:

<?php
/**
* Implements hook_theme().
*/
function MYMODULE_theme($existing, $type, $theme, $path) {
  return array(
    'article_node_form' => array(
      'render element' => 'form',
      'template' => 'article-node-form',
      // this will set to module/theme path by default:
      'path' => drupal_get_path('module', 'MYMODULE'),
    ),
  );
}
?>

要输出自定义数据,请执行以下操作:

<?php
/**
* Preprocessor for theme('article_node_form').
*/
function template_preprocess_article_node_form(&$variables) {
  // nodeformcols is an alternative for this solution.
  if (!module_exists('nodeformcols')) {
    $variables['sidebar'] = array();   // Put taxonomy fields in sidebar.
    $variables['sidebar'][] = $variables['form']['field_tags'];
    hide($variables['form']['field_tags']);
    // Extract the form buttons, and put them in independent variable.
    $variables['buttons'] = $variables['form']['actions'];
    hide($variables['form']['actions']);
  }
}
?>

这个问题的其他答案都是正确的。负责垂直选项卡标题的代码是
includes/form.inc
文件中的
theme\u vertical\u tabs
功能

如果您有自己的主题,可以在主题的template.php文件中复制和更改此函数以覆盖它:

function YOUR_THEME_NAME_vertical_tabs($variables) {
  $element = $variables['element'];

  // Add required JavaScript and Stylesheet.
  drupal_add_library('system', 'drupal.vertical-tabs');

  // Following line changed to use title set in field settings and remove class="element-invisible
  $output = '<h2>' . t($element['#title']) . '</h2>';  
  $output .= '<div class="vertical-tabs-panes">' . $element['#children'] . '</div>';

  return $output;
}
使用您的主题、名称、垂直选项卡($variables){
$element=$variables['element'];
//添加所需的JavaScript和样式表。
drupal_添加_库(“系统”、“drupal.vertical选项卡”);
//以下行更改为使用字段设置中的标题集并删除class=“element invisible”
$output=''.t($element['#title'])。';
$output.=''.$element['#children'].';
返回$output;
}

如果您希望在内容编辑屏幕中显示垂直选项卡标题,并且设置了管理员主题,则需要对管理员主题进行上述修改。

查看有关如何按内容类型设置节点主题的信息。当然,您需要的是为每个组添加另一个标题(除了看不见的以外)或者你想让不可见的标题可见?如果是第二部分,我同意@nmc answer和template file。谢谢@justinelejeune,但我如何向每个组添加标题?我看不到选项…只是用户添加内容的字段。您好,谢谢您的回复,但这是用于添加内容的实际表单,而不是显示创建的内容。还有其他想法吗?