Removendo o bloco de conteúdo principal na primeira página

17

Sou novo no Drupal 7 e pretendo substituir o padrão da página inicial main content blockpor um bloco equivalente gerado a partir do Views (ganhando mais controle sobre o bloco ao fazê-lo).

Eu gerei com sucesso o novo bloco de primeira página no Views e o adicionei à seção de conteúdo. No entanto, agora a página inicial exibe o bloco de visualizações original e o novo.

Tentar remover o main content blockconfigurando-o para não exibir <front>não funciona e, por enquanto, a única solução alternativa que encontrei é o seguinte CSS:

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

Eu preferiria uma solução menos invasiva. Alguém pode sugerir um?

irishbuzz
fonte
Eu tenho exatamente a mesma questão.
JW.
Não tenho reputação suficiente para responder a essa pergunta. Mas eu queria 2 'visualizar listas como blocos' e nenhum outro conteúdo, então aqui está uma solução alternativa: drupal.org/node/2089911#comment-7868495 (depois mostre a lista ou as listas como blocos)
JW.

Respostas:

24

Desculpe, mas não é assim que se faz.

Em vez de criar uma exibição de bloco no Views, crie uma exibição de página. Escolha um caminho para sua página de visualizações, por exemplo "home", e salve a visualização. Em seguida, vá para / admin / config / system / site-information e altere o valor para 'Página inicial padrão' (provavelmente diz "nó" agora) no caminho que você escolheu para sua exibição ("página inicial").

Quando você segue essa abordagem, o conteúdo principal da sua página inicial é a visualização.

Marcvangend
fonte
Ah eu entendo. Eu tentei sua sugestão, ela funciona perfeitamente e parece muito óbvia agora. Obrigado marc.
22411 irishbuzz
De nada, feliz por eu poder ajudar.
21411 Marc Marte
Obrigado, definitivamente a solução mais limpa aqui! Outros estavam falando sobre mexer no código principal ou configurar folhas de estilo. Eu sabia que tinha que haver uma maneira mais fácil.
Organiccat 11/08/12
1
@MarioAwad tecnicamente, sim. É assim que a configuração da primeira página do Drupal funciona. No entanto, se todos os módulos criarem URLs e links corretamente com as funções url()e l(), o Drupal cuidará disso e fará o link para www.example.com sempre que www.example.com/path/to/view for fornecido. Se você preferir , o módulo Redirecionamento Global será redirecionado para a primeira página, caso alguém solicite explicitamente o caminho completo.
marcvangend
1
@marcvangend, obrigado pelos esclarecimentos extras e pelo ponteiro para o redirecionamento global, que resolve o problema do caminho duplo. Felicidades.
Mario Awad
2

Antes de tudo, você precisa remover o conteúdo doméstico padrão. Aqui está a maneira de fazer isso:

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

Remover conteúdo padrão da página inicial

Em seguida, crie a visualização em bloco desejada .. depois vá para os blocos .. mostre essa visualização na região "conteúdo" .. e restrinja esse conteúdo a "apenas as páginas seguintes" e escreva <front>

É isso aí


Tareq Assaf
fonte
0

Embora não seja uma abordagem comum, você pode incorporar uma exibição como bloco de conteúdo principal no frontpage. O Views tem a flexibilidade de fazê-lo de qualquer maneira em um piscar de olhos. Eu suspeito que você configurou incorretamente a etapa de remoção do bloco que estava tentando ou ... apenas precisou limpar o cache para obter o mesmo resultado.

Para ser justo com a resposta aceita, essa abordagem é a maneira usual de fazê-lo. O resultado final é idêntico.

stefgosselin
fonte
Eu acho que é um bug no Drupal porque eu também tentei essa 'etapa de remoção de bloco' e simplesmente não funcionou.
JW.