Como criar um tema para uma visualização rapidamente?

85

Eu defini uma visualização com os módulos CCK e Visualização 2. Eu gostaria de definir rapidamente um modelo específico para esta visão. Existe algum tutorial ou informação sobre isso? Quais são os arquivos que preciso modificar?


Aqui estão minhas descobertas: (Editado)

Na verdade, existem duas maneiras de definir o tema de uma visualização: a forma " campo " e a forma " ". Em "editar visualização", você pode escolher " Row style: Node" ou " Row style: Fields".

  • com a forma " Node ", você pode criar um node-contentname.tpl.php que será chamado para cada nó na visão. Você terá acesso aos valores do seu campo cck com $ field_name [0] ['value']. (edit2) Você pode usar node-view-viewname.tpl.php que só será chamado para cada nó exibido a partir desta visão.
  • com a forma " Field ", você adiciona um campo de visão de visão - nome de visão - nome de campo-valor.tpl.php para cada campo que deseja tema individualmente.

Graças às respostas anteriores, usei as seguintes ferramentas:

  • No bloco 'Configurações básicas', o 'Tema: Informações' para ver todos os diferentes modelos que você pode modificar.
  • O "desenvolvedor de tema" do módulo Devel para encontrar rapidamente os nomes das variáveis ​​de campo.
  • Veja a documentação 2 , especialmente a página "Usando o tema" .
Pierre-Jean Coudert
fonte
1
é views-view-fields - viewname - field-name-value.tpl.php não views-view-field - viewname - field-name-value.tpl.php está faltando um "s" no primeiro campo
Alex Borsody
Em qual pasta você adiciona isso?
Talon
Se você fizesse uma pesquisa na página de documentação de visualizações, você teria encontrado todas essas informações!
Bhavin Joshi de

Respostas:

52

Na verdade, existem duas maneiras de definir o tema de uma visualização: a forma " campo " e a forma " ". Em "editar visualização", você pode escolher " Row style: Node" ou " Row style: Fields".

  • com a forma " Node ", você pode criar um node-contentname.tpl.php que será chamado para cada nó da view. Você terá acesso aos valores do seu campo cck com $ field_name [0] ['value']
  • com a forma " Field ", você adiciona um campo de visão de visão - nome de visão - nome de campo-valor.tpl.php para cada campo que deseja tema individualmente.

Graças às respostas anteriores, usei as seguintes ferramentas:

  • No bloco 'Configurações básicas', o 'Tema: Informações' para ver todos os diferentes modelos que você pode modificar.
  • O "desenvolvedor de tema" do módulo Devel para encontrar rapidamente os nomes das variáveis ​​de campo.
  • Veja a documentação 2 , especialmente a página "Usando o tema" .
Pierre-Jean Coudert
fonte
Observe que na primeira forma, a forma de "nó", o modelo que você criar provavelmente (depende das configurações do tema) será usado para o próprio nó (exibido mesmo fora do nó).
Strae
Observe que os links nesta resposta agora são 404.
Dewayne
22

Uma maneira rápida de encontrar os arquivos de modelo que você pode criar e modificar para uma visualização no Views 2.0 é:

  1. Edite a vista
  2. Selecione o estilo (por exemplo, página, bloco, padrão)
  3. No bloco 'Configurações básicas', clique em 'Tema: Informações' para ver todos os diferentes modelos que você pode modificar.
Calebbrown
fonte
16

O recurso "Desenvolvedor de tema" do módulo Devel é útil para ver quais arquivos de modelo o Drupal está procurando quando vai para um tema. Veja a captura de tela nessa página para um exemplo.

Garrett Albright
fonte
10

Você também deve verificar as visualizações semânticas . Para temas simples do Views, é realmente útil.

David Eads
fonte
7

Uma dica:

Provavelmente, você terá várias visualizações que exigem formatação semelhante. Criar modelos para cada uma dessas visualizações e copiá-los cria um pesadelo de ramificação de código - se você for solicitado a alterar toda a aparência do site (implicando em alterar a exibição de cada uma dessas visualizações formatadas dessa maneira particular), você tem que voltar e editar cada um separadamente.

Em vez de usar a interface de visualizações para selecionar novos modelos para visualizações, às vezes simplesmente insiro algum código de ramificação em um único arquivo de visualizações. Por exemplo, para um site em views-view-fields.tpl.phpeu tenho:

if($view->name == 'articleList' || $view->name == 'frontList' 
|| $view->name == 'archiveList') {
/* field formatting code */
} else {
/* the default code running here */
}

Isso, então, modifica os campos da maneira que desejo apenas para esta família de Views = articleList, frontList e archiveList - e para outras views usando este modelo executa o código que normalmente encontra neste modelo. Se o cliente perguntar: "Ei, você poderia fazer com que essas páginas que mostram os arquivos e essa lista na página inicial se pareçam mais com (...)", é simplesmente uma questão de abrir e editar este arquivo, em vez de três arquivos diferentes. A manutenção torna-se muito mais rápida e amigável.

James
fonte
6

para mim block-views-myViewName-myBlockId.tpl.php funciona

svassr
fonte
4

Minha opção de atalho.

  1. Vá para o arquivo theme.inc em YOUR_MODULE_DIR/ views / theme / folder.

  2. Na _views_theme_functionsfunção imprima a variável $ themes ou coloque um ponto de interrupção na última linha da função para ver o conteúdo da variável.

Basta converter views_viewpara views-view e __ para - e adicionar sua extensão de modelo para obter o nome de arquivo desejado.

Por exemplo, se um elemento do array $ themes é views_view__test_view__block (onde test_viewestá o nome de sua visão), então o nome do arquivo de modelo seria views-view - test_view - block.tpl.php .

userp2m3h
fonte
2

Na minha opinião, a maneira mais simples de decidir qual arquivo de modelo usar para criar o tema das visualizações é: 1) Clique em admin / build / views / edit / ViewName -> Basic Settings -> Theme

Clicar aqui listaria todos os arquivos de modelo possíveis. Arquivos em destaque (nomes de arquivo em negrito) indicam qual arquivo de modelo está sendo usado para fazer o tema em qual parte da visualização. Depois de incorporar as alterações necessárias no arquivo de modelo de vista relevante RESCAN .. agora você deve ser capaz de ver o arquivo de modelo alterado em destaque.

Sbhambry
fonte
1

Se você deseja fazer um desenvolvimento Drupal rápido com muito arrastar e soltar, o módulo Display Suite def. é algo que você deve usar: http://drupal.org/project/ds

Karel
fonte
0

Para mim, existem duas maneiras de fazer isso:

Forma programática:

  1. Vá para a vista de edição.
  2. Selecione o estilo de página / bloco.
  3. Vá para 'Configurações básicas' e clique em 'Tema: Informações' para ver todos os diferentes modelos que você pode modificar.
  4. Adicione o html que deseja tema e imprima as variáveis ​​da visão sempre que necessário

Atualização de configuração: Usando o Display SuiteO conjunto de exibição nos fornece uma opção para colocar suas etiquetas alinhadas ou acima e adicionar até mesmo para ocultá-las. Classes personalizadas para cada um dos elementos da visualização também podem ser adicionadas. As opções avançadas incluem:

  • Exportáveis
  • Adicione seus próprios campos personalizados no back-end ou em seu código
  • Adicione layouts personalizados ao seu tema (apenas D7)
  • Altere rótulos, adicione estilos ou substitua as configurações de campo (campos semânticos).
  • Integração total com visualizações e painéis
  • Amplie o poder de seus layouts instalando o Field Group
  • Desempenho ideal com integração de cache de objeto (D6) ou cache de entidade (D7)
carteblanche
fonte