it-swarm-es.com

Eliminar el bloque de contenido principal en la portada

Soy nuevo en Drupal 7 y estoy buscando reemplazar el valor predeterminado de la portada main content block con un bloque equivalente generado a partir de Vistas (obteniendo más control sobre el bloque al hacerlo).

He generado con éxito el nuevo bloque de portada en Vistas y lo he agregado a la sección de contenido, sin embargo, ahora la página de inicio muestra tanto el bloque de vistas original como el nuevo.

Intentando eliminar el main content block configurándolo para que no se muestre en <front> no funciona y por ahora la única solución que he encontrado es el siguiente CSS:

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

Prefiero una solución menos pirateada. ¿Alguien puede sugerir uno?

16
irishbuzz

Lo siento, pero esa no es la forma de hacerlo.

En lugar de crear una visualización de bloque en Vistas, cree una visualización de página. Elija una ruta para su página de vistas, por ejemplo "inicio", y guarde la vista. A continuación, vaya a/admin/config/system/site-information y cambie el valor de 'Página principal predeterminada' (probablemente dice "nodo" ahora) a la ruta que eligió para su vista ("inicio").

Cuando sigue este enfoque, el contenido principal de su página principal be la vista.

24
marcvangend

En primer lugar, debe eliminar el contenido de inicio predeterminado, esta es la forma de hacerlo:

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

Eliminar contenido predeterminado de la página de inicio

Luego cree la vista de bloque que desee ... luego vaya a bloques ... muestre esta vista de bloque en la región "contenido" ... y restrinja este contenido a "solo las páginas siguientes" y escriba <front>

Eso es


2
Tareq Assaf

Aunque no es un enfoque común, usted puede incrustar una vista como bloque de contenido principal en la página principal. Views tiene la flexibilidad de hacerlo de cualquier manera en un abrir y cerrar de ojos. Sospecho que configuró mal el paso de eliminación de bloque que estaba intentando o ... simplemente tuvo que borrar el caché para obtener el mismo resultado.

Para ser justos con la respuesta aceptada, ese enfoque es la forma habitual de hacerlo. El resultado final es idéntico.

0
stefgosselin