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

时间:2010-02-12 10:44:55

标签: php drupal

目前,我的博客帖子是作为主要内容区域中的节点生成的。在我的内容块中,只有一个块,而博客导航需要在博客帖子之上,并且它有非常自定义的标记 - 我怎么能扭转订单?我不确定在哪里移动帖子。

澄清:我只需要在我的主页上显示博客帖子,我需要将其显示在博文帖子上方。

2 个答案:

答案 0 :(得分:1)

不幸的是,没有一种简单的方法可以通过图形管理界面实现这一点,因此您可能需要进入主题代码才能进行此更改。 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

此处,除了默认区域(左,右,内容,页眉,页脚)外,主题还有一个名为above_content的自定义区域。

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

...
<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 -->
...

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

答案 1 :(得分:0)

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

  • PHP声明
  • 在列出的所有页面上
  • 仅限列出的网页