Exibições 3 e HTML5 - como substituir a saída da marcação?


7

Tenho uma visão que criei que seleciona postagens de blog com base em um termo de taxonomia específico, criando uma espécie de visualização "Postagens em destaque" que eu incorporamos na primeira página do meu site. O problema que eu continuo enfrentando é tentar exibir a exibição para que cada post seja semanticamente marcado usando um pouco do novo HTML. Eu tentei o "Reescrever a saída deste campo" interno, mas ignora as tags que eu uso (ou seja, artigo, cabeçalho, rodapé) e agrupa tudo em divs, mesmo quando desmarco as tags de espaço reservado.

Devo criar uma vista de substituição - view_name.tpl.php para reescrever a saída de cada postagem como aparece na vista, ou preciso usar ganchos de pré-processamento no template.php para afetar a saída?

Devo declarar que tenho experiência básica em escrever ganchos de pré-processamento e PHP, mas posso usar todos os recursos necessários para me mover para baixo da linha se estiver apontado na direção certa.

Respostas:


10

Você notará que, na sua visão, no bloco "Configurações de estilo", há um link para Tema: Informações. Exporá todos os arquivos de tema chamados para sua visualização. Você pode usar arquivos de tema genéricos a muito detalhados que serão usados ​​apenas para a exibição das visualizações.

O primeiro nome de arquivo na saída de exibição é views-view.tpl.php. Isso se aplicará a todas as visualizações e exibições. O próximo da lista é views-view - [nome da exibição] .tpl.php. Isso se aplicará apenas à sua visão. Ele continua perfurando até ficar o mais específico possível. views-view - [nome da visualização] - default.tpl.php é o último da lista e se aplica somente à exibição padrão da visualização. Clicar no link Exibir saída: irá expor o código do modelo usado pelas visualizações. Simplesmente copie e crie um novo arquivo de modelo com um dos sugeridos na lista. Geralmente, é melhor ser o mais específico possível. O arquivo de modelo pode ir para qualquer lugar do seu tema e as visualizações o buscarão, desde que você verifique novamente os arquivos de modelo nas informações sobre temas e salve a visualização. Existem modelos de exibição, modelos de linha, modelos de campo e modelos específicos de campo.

Depois de aprender a manipular os arquivos de modelo de exibição, ele realmente abrirá suas possibilidades de design.


Fantástico! Obrigado por apontar isso; isso definitivamente permitirá mais controle de design.
precisa

Estendendo um pouco isso, considere o módulo Ferramentas HTML5, conforme mencionado neste guia do Drupal HTML5 ; expõe mais elementos HTML5 nas Views.
Christopher Cooper

2

O Cercas parece um ótimo módulo (para o Drupal 7) para controlar a marcação de saída das visualizações:

Página do projeto:

http://drupal.org/project/fences

Na página do projeto:

"O Fences é uma ferramenta fácil de usar para especificar um elemento HTML para cada campo. Essa opção de elemento será propagada em todos os lugares em que o campo for usado, como teasers, feeds RSS e Exibições. Você não precisa reconfigurar o mesmo elemento HTML repetidamente sempre que você exibir o campo ".

Eu particularmente gosto deste pouco (ótimo para depuração de saída):

"O melhor de tudo é que o Fences fornece marcação mais enxuta do que o núcleo do Drupal 7 ! E também pode se livrar das classes estranhas !"

Isso também é bom - reduzindo a repetição do trabalho:

"Esse tipo de ferramenta é necessária para criar uma saída semântica HTML5 do Drupal. Sem essa ferramenta, você deve criar modelos de campo personalizados no seu tema para todos os campos. :("

Eles consideraram as alternativas populares também:

Projetos semelhantes incluem campos semânticos , invólucros de campo e uma ferramenta dentro dos extras do Display Suite . Mas achamos que essa abordagem é a Morefasterbetter ™.

Os nossos agradecimentos ao usuário do Drupal por mencionar o módulo Fences Drupal no seu comentário a esta pergunta O módulo Views Semântica é obsoleto pelo Views 3?


Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.