Eliminar el bloque de contenido principal en la portada

17

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

He generado correctamente 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.

Intentar eliminarlo main content blockconfigurándolo para que no se muestre <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?

irishbuzz
fuente
Tengo exactamente el mismo problema.
JW.
No tengo suficiente reputación para responder esta pregunta. Pero quería 2 'ver listas como bloques' y ningún otro contenido, así que aquí hay una solución alternativa: drupal.org/node/2089911#comment-7868495 (luego muestre la lista o listas como bloques)
JW.

Respuestas:

24

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 ahora dice "nodo") a la ruta que eligió para su vista ("inicio").

Cuando se sigue este enfoque, el contenido principal de la página frontal sea la vista.

marcvangend
fuente
Ah, ya veo. He intentado su sugerencia, funciona perfectamente y parece muy obvio ahora. Gracias marc.
irishbuzz
De nada, me alegro de que pudiera ayudar.
marcvangend
Gracias, definitivamente la solución más limpia aquí! Otros hablaban de perder el tiempo en el código central o de configurar hojas de estilo. Sabía que tenía que haber una manera más fácil.
Organiccat
1
@MarioAwad técnicamente, sí. Así es como funciona la configuración de la página principal de Drupal. Sin embargo, si todos los módulos compilan correctamente las URL y los enlaces con las funciones url()y l(), Drupal se encargará de ello y se vinculará a www.example.com siempre que se proporcione www.example.com/path/to/view. Si lo desea, el módulo Global Redirect redirigirá a la página principal en caso de que alguien solicite explícitamente la ruta completa.
marcvangend
1
@marcvangend agradece las aclaraciones adicionales y el puntero hacia Global Redirect que resuelve el problema del doble camino. Salud.
Mario Awad
2

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


Tareq Assaf
fuente
0

Aunque no es un enfoque común, 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.

Stefgosselin
fuente
Creo que es un error en Drupal porque yo también intenté ese 'paso de eliminación de bloque' y simplemente no funcionó.
JW.