代码之家  ›  专栏  ›  技术社区  ›  meder omuraliev

重新排列博客文章与内容块的顺序?

  •  0
  • meder omuraliev  · 技术社区  · 14 年前

    现在,在我的主要内容区域中,我将博客文章作为节点生成。在我的内容块中只有一个块,这是用于博客导航的块,它需要位于博客文章的顶部,并且具有非常自定义的标记-我如何才能颠倒顺序?我不知道把柱子移到哪里去。

    澄清 :我只需要我的block显示在主页上,博客文章在哪里,我需要它显示在博客文章的上方。

    2 回复  |  直到 14 年前
        1
  •  1
  •   emmychan    14 年前

    不幸的是,通过图形管理界面实现这一点不是一个简单的方法,因此您可能需要进入主题代码来进行更改。IMO,最简单的方法是定义一个新的块区域。

    如果您使用的是已贡献/核心主题,则可能需要定义当前主题的子主题以进行更改。见 http://drupal.org/node/225125 有关子项的详细信息。

    要创建新的块区域,需要将其添加到主题的.info文件中。

    
    name = My Theme
    description = Example
    core = 6.x
    engine = phptemplate
    
    regions[left] = Left Sidebar
    regions[right] = Right Sidebar
    regions[content] = Content
    regions[header] = Header
    regions[footer] = Footer
    regions[above_content] = Above content
    
    

    在这里,除了默认区域(左、右、内容、页眉、页脚)之外,主题还有一个自定义区域,称为“内容”。

    然后,编辑主题的page.tpl.php文件,并添加 $above_content 变量设置为将在内容上方显示的模板。例如,如果您要扩展Garland主题,可以添加 $高于内容 变量如下:

    ...
    <div id="center"><div id="squeeze"><div class="right-corner"><div class="left-corner">
              <?php print $breadcrumb; ?>
              <?php if ($mission): print '<div id="mission">'. $mission .'</div>'; endif; ?>
              <?php if ($tabs): print '<div id="tabs-wrapper" class="clear-block">'; endif; ?>
              <?php if ($title): print '<h2'. ($tabs ? ' class="with-tabs"' : '') .'>'. $title .'</h2>'; endif; ?>
              <?php if ($tabs): print '<ul class="tabs primary">'. $tabs .'</ul></div>'; endif; ?>
              <?php if ($tabs2): print '<ul class="tabs secondary">'. $tabs2 .'</ul>'; endif; ?>
              <?php if ($show_messages && $messages): print $messages; endif; ?>
              <?php print $help; ?>
              <div class="clear-block">
                <?php print $above_content ?>
                <?php print $content ?>
              </div>
              <?php print $feed_icons ?>
              <div id="footer"><?php print $footer_message . $footer ?></div>
          </div></div></div></div> <!-- /.left-corner, /.right-corner, /#squeeze, /#center -->
    ...
    

    然后,您可以将块添加到块管理页上的“以上内容”区域,并将其设置为仅显示在首页上。

        2
  •  0
  •   googletorp    14 年前

    可以通过三种方式控制块在其设置中的可见性:

    • PHP语句
    • 在除列出的以外的所有页面上
    • 仅在列出的页面上