フロントページのメインコンテンツブロックを削除する


17

私はDrupal 7を初めて使用main content blockし、フロントページのデフォルトを、Viewsから生成された同等のブロックに置き換えたいと考えています(そうすることで、ブロックをさらに制御できるようになります)。

ビューで新しいフロントページブロックを正常に生成し、コンテンツセクションに追加しましたが、ホームページには元のビューブロックと新しいビューブロックの両方が表示されます。

main content block表示しないように設定してを削除しようとしても機能し<front>ません。現在のところ、次のCSSのみが回避策として見つかりました。

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

私は、ハックのようなソリューションを好まないでしょう。誰でも提案できますか?


私はまったく同じ問題を抱えています。
JW。

この質問に答えるほどの評判はありません。しかし、私は2「ブロックとしてビューリスト」を望んでいたので、ここには他のコンテンツは、代替ソリューションではありません:drupal.org/node/2089911#comment-7868495(その後、ブロックなどのリストやリストを表示)
JW。

回答:


24

申し訳ありませんが、それはそれを行う方法ではありません。

ビューでブロック表示を作成する代わりに、ページ表示を作成します。ビューページのパス、たとえば「home」を選択し、ビューを保存します。次に、/ admin / config / system / site-informationに移動し、 'Default front page'(おそらく「node」と表示される)の値を、ビューに選択したパス(「home」)に変更します。

このアプローチに従うと、フロントページのメインコンテンツがビューなります。


ああ、私はあなたの提案を試してみましたが、完璧に機能し、今では非常に明白です。ありがとう、マーク。
-irishbuzz

どういたしまして。
-marcvangend

おかげで、間違いなくここで最もクリーンなソリューション!他の人は、コアコードをいじったり、スタイルシートを設定したりすることについて話していました。もっと簡単な方法が必要だと思いました。
Organiccat

1
@MarioAwad技術的には、はい。これが、Drupalフロントページ設定の仕組みです。ただし、すべてのモジュールがURL url()l()関数を使用してURLとリンクを正しく作成すると、Drupalはそれを処理し、www.example.com / path / to / viewが指定されるたびにwww.example.comにリンクします。必要に応じて、誰かが明示的にフルパスを要求する場合、グローバルリダイレクトモジュールはフロントページにリダイレクトします。
ヴァンデンド

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。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.