Видалення основного блоку вмісту на головній сторінці


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

Вибачте, але це не так.

Замість того щоб створювати блок відображення в меню Перегляди, створіть відображення сторінки. Виберіть шлях для сторінки перегляду, наприклад "додому", і збережіть подання. Далі ви переходите до / admin / config / system / site-information та змінюєте значення для "Титульна сторінка за замовчуванням" (це, ймовірно, зараз говорить "вузол") на шлях, який ви вибрали для перегляду ("home").

Коли ви будете слідувати цьому підходу, основний зміст на вашій сторінці передній буде мати вигляд.


Я бачу. Я спробував вашу пропозицію, вона працює чудово і зараз здається дуже очевидною. Дякую Марку.
irishbuzz

Ви раді, раді, що я можу допомогти.
marcvangend

Дякую, безумовно, найчистіше рішення тут! Інші говорили про вимкнення основного коду або створення таблиць стилів. Я знав, що повинен бути простіший шлях.
Organiccat

1
@MarioAwad технічно, так. Ось так працює налаштування титульної сторінки Drupal. Однак якщо всі модулі правильно будують URL-адреси та зв'язки з функціями url()та l()функціями, Drupal дбатиме про це та посилатиметься на www.example.com, коли www.example.com/path/to/view надається. Якщо вам подобається, модуль глобального перенаправлення перенаправить на головну сторінку у випадку, якщо хтось явно запитає повний шлях.
marcvangend

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.
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.