【问题标题】:Taking h1 heading out of top area and adding to content in Drupal将 h1 标题移出顶部区域并添加到 Drupal 中的内容
【发布时间】:2014-11-20 11:36:56
【问题描述】:

我想将我的标题从内容类型“知识库”从当前位置移动到我的内容区域 - 示例:

您可以看到页面本身 - here

我正在使用 Drupal 7 并安装了显示套件模块。

【问题讨论】:

    标签: html css drupal drupal-7 content-management-system


    【解决方案1】:

    我对此采取的常规方法是将 $title 从 page.tpl.php 移动到 node.tpl.php

    这仅适用于节点。

    /**
     * Implements hook_preprocess_node().
     */
    function hook_preprocess_node(&$variables) {
      $variables['title'] = $variables['node']->type == 'content_type' ? drupal_get_title() : FALSE;
    }
    
    /**
     * Implements hook_preprocess_page().
     */
    function hook_preprocess_page(&$variables) {
      $n = menu_get_object();
      if ($n && $n->type == 'content_type') {
        $variables['title'] = FALSE;
      }
    }
    

    然后您可以在 node.tpl.php 中使用以下内容

    <?php if ($title): ?>
      <div class="title">
        <?php print $title; ?>
      </div>
    <?php endif; ?>
    

    我认为有一个 contrib 模块可以更改显示套件上的标题字段以允许您定位它等,但我通常只是添加这些,因为它比添加完整模块感觉更轻松。

    【讨论】:

    • 这不会影响我的所有节点,而不仅仅是一种内容类型吗?
    • 本来可以的,我刚刚更新了这个,让您可以在单一内容类型上执行此操作。
    • 谢谢,出于兴趣,对内容类型 = 知识库的引用在哪里?
    • 在示例中,有两个对“content_type”的引用,即占位符文本,对不起,我应该提到,将其替换为“知识库”内容类型的机器名称。
    • 别担心,你能告诉我我需要在 node.tpl.php 和 page.tpl.php 上取出/放入什么吗?我用我的两个版本创建了一个 JSFiddle:jsfiddle.net/ufjmf35o
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多