删除首页上的主要内容块


17

我是Drupal 7的新手,我希望将其首页的默认值替换为main content block从Views生成的等效块(这样做可以更好地控制该块)。

我已经在Views中成功生成了新的首页块并将其添加到内容部分,但是现在主页显示了原始视图和新的View块。

尝试通过将其main content block配置为不显示来删除它是<front>行不通的,目前,我发现的唯一解决方法是以下CSS:

.front #block-system-main {
  display:none;
}

我希望使用一种不太像hack的解决方案。谁能建议一个?


我有完全一样的问题。
JW。

我没有足够的声誉来回答这个问题。但是我想要2个“将视图列表作为块”,而没有其他内容,因此这里是一个替代解决方案:drupal.org/node/2089911#comment-7868495(然后将一个或多个列表显示为块)
JW。

Answers:


24

抱歉,但这不是解决方法。

创建页面显示,而不是在视图中创建块显示。为您的视图页面选择路径,例如“ home”,然后保存视图。接下来,转到/ admin / config / system / site-information并将“默认首页”(默认可能现在显示为“节点”)的值更改为为视图选择的路径(“主页”)。

当您采用这种方法时,首页上的主要内容将视图。


嗯,我明白了。我已经尝试过您的建议,该建议非常有效,现在看来非常明显。谢谢马克。
irishbuzz

不用客气,很高兴我能提供帮助。
marcvangend 2011年

谢谢,绝对是这里最干净的解决方案!其他人则在谈论在核心代码中混搭或设置样式表。我知道必须有一种更简单的方法。
Organiccat 2012年

1
@MarioAwad从技术上讲是的。这就是Drupal主页设置的工作方式。但是,如果所有模块正确地构建URL以及与url()l()函数的链接,则只要提供了www.example.com/path/to/view,Drupal就会照顾好它并链接到www.example.com。如果您愿意,在有人明确请求完整路径的情况下,“ 全局重定向”模块将重定向到首页。
marcvangend 2015年

1
@marcvangend感谢您的额外说明以及指向解决双向问题的全局重定向的指针。干杯。
马里奥·阿瓦德

2

首先,您必须删除默认的家庭内容,这是这样做的方法:

<?php
function MYTHEME_OR_MODULE_preprocess_page(&$variables) {
  if ($variables['is_front']) {
    $variables['title'] = '';
    unset($variables['page']['content']['system_main']['default_message']);
  }
}

删除首页默认内容

然后创建所需的块视图..然后转到块..在“内容”区域中显示此块视图..并将此内容限制为“仅以下页面”并编写 <front>

而已



0

尽管不是常用方法,但是您可以将视图作为主要内容块嵌入到首页上。视图可以灵活地以一种眨眼的方式进行操作。我怀疑您错误地配置了您正在尝试的块删除步骤,或者...清除缓存即可获得相同的结果。

为了公平地接受公认的答案,这种方法是通常的做法。最终结果是相同的。


我认为这是Drupal中的一个错误,因为我也尝试了“去除块的步骤”,但它根本没有用。
JW。
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.