it-swarm-eu.dev

Odebrání hlavního bloku obsahu na titulní stránce

Jsem nový v Drupal 7 a snažím se nahradit výchozí _stránku main content block s ekvivalentním blokem generovaným z pohledu (získáním větší kontroly nad tímto blokem).

Úspěšně jsem vygeneroval nový blok úvodní stránky v části Pohledy a přidal jsem jej do sekce obsahu, nyní však na domovské stránce jsou zobrazeny původní i nový blok zobrazení.

Pokus o odebrání main content block jeho konfigurací tak, aby se nezobrazovala na <front> nefunguje a prozatím jediné řešení, které jsem našel, je následující CSS:

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

Upřednostňuji méně hackerské řešení. Může někdo navrhnout jeden?

17
irishbuzz

Litujeme, ale to není způsob, jak to udělat.

Místo vytvoření blokového zobrazení v pohledech vytvořte zobrazení stránky. Vyberte cestu pro stránku zobrazení, například „domov“, a pohled uložte. Dále přejděte do/admin/config/system/site-information a změňte hodnotu pro 'Default front page' (pravděpodobně nyní říká "node") na cestu, kterou jste si vybrali pro svůj pohled ("home").

Když budete postupovat podle tohoto přístupu, hlavní obsah na vaší přední stránce bude be zobrazení.

24
marcvangend

Nejprve musíte odebrat výchozí domovský obsah, zde je způsob, jak to provést:

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

Odebrat výchozí obsah domovské stránky

Poté vytvořte požadované blokové zobrazení .. poté přejděte na bloky .. zobrazte toto blokové zobrazení v oblasti „obsahu“ .. a omezte tento obsah na „pouze následující stránky“ a napište <front>

A je to


2
Tareq Assaf

Ačkoli to není běžný přístup, můžete vložit zobrazení jako hlavní blok obsahu na titulní stránku. Zobrazení má flexibilitu, aby to udělalo obousměrně. Mám podezření, že jste špatně nakonfigurovali krok odstranění bloku, který jste se snažili, nebo ... prostě jste museli vymazat mezipaměť , abyste dosáhli stejného výsledku.

Abychom byli spravedliví vůči přijaté odpovědi, je tento přístup obvyklým způsobem. Konečný výsledek je stejný.

0
stefgosselin