Existe uma alternativa mais eficiente do que substituir arquivos de modelo?


8

Preciso me livrar de muitas marcações desnecessárias em uma exibição. Em geral, eu faço isso substituindo os arquivos de modelo no meu tema, mas desta vez a exibição é realmente enorme e o desempenho está diminuindo. Então, eu me perguntava, se há uma maneira mais eficiente de reduzir a marcação? Ao alterar a marcação de um nó, as funções de pré-processamento são mais rápidas que a substituição de arquivos de modelo, existe um mecanismo analógico para visualizações?

Edit 1: Claro, o motivo do fraco desempenho não é a substituição dos arquivos de modelo em primeiro lugar, mas se eu puder otimizar um pouco lá, terei que fazer isso. Além disso, costumo ter problemas desativando a marcação na própria interface do usuário das visualizações: desativar os estilos de linha, por exemplo, é ignorado quando uso um subtema Omega

Edição 2: conheço as possibilidades dentro da interface do usuário do Views ; O que estou procurando é uma maneira manual com controle preciso.


3
O que faz você pensar que a substituição de arquivos de modelo está causando uma diminuição no desempenho? Não estou dizendo que não é, necessariamente, mas parece que isso seria improvável. A menos que você não esteja apenas removendo a marcação, mas também alterando a lógica. Talvez você possa editar a pergunta e fornecer um pouco mais de contexto? Alguns detalhes mais específicos sobre a visualização e os arquivos de modelo?
Clive

Adicionado alguns detalhes acima.
Senhora Adam

Desempenho lento, mesmo com o cache ativado? (Vistas armazenar em cache + Anon cache de página + Memcache (talvez) + Verniz (talvez))
Beebee

Respostas:


8

Você pode eliminar a marcação desnecessária através da interface do usuário do Views.

Quando você adiciona um campo, oculto em Configurações de estilo, eles sempre têm essa marca de seleção desnecessária padrão

insira a descrição da imagem aqui

Além disso, você pode remover mais marcações aqui

insira a descrição da imagem aqui

e aqui

insira a descrição da imagem aqui


Obrigado pela sua resposta, mas estou ciente das possibilidades dentro das visualizações da interface do usuário; o que estou procurando é uma maneira manual com controle fino.
Senhora Adam

7

Às vezes, é mais eficiente com o modo de exibição exibir conteúdo em vez de campos. Isso é melhor aproveitado com os modos de exibição personalizados, onde você configura o modo de exibição para mostrar os campos que deseja. Você pode fazer a exibição desse modo de exibição o que quiser através de modelos e formatadores. Isso tende a funcionar bem quando você tem o Entitycache .

Dito isto, todos os sistemas são diferentes. O verdadeiro perfil é realmente a melhor maneira de descobrir o que está demorando. Pessoalmente, não acho que a marcação de visualizações esteja adicionando tempo significativo à execução.


Abordagem interessante - analisarei isso.
Senhora Adam

7

o motivo do fraco desempenho não é a substituição dos arquivos de modelo em primeiro lugar, mas se eu puder otimizar um pouco lá, terei que fazer isso

Parece que você está sendo incentivado a otimizar prematuramente. Se a exibição estiver com problemas de desempenho, verifique se o cache está ativado na exibição para evitar renderizar o HTML do zero o máximo possível. Isso fornecerá um impulso muito maior ao desempenho do que quase qualquer redução no número de arquivos envolvidos no processo de renderização.

Depois que o registro do tema é criado, com muitos modelos substituídos, não deve haver um impacto perceptível no desempenho ao usar os padrões, pois o Drupal ainda está carregando um número semelhante de arquivos (vi uma exceção a isso se você criar um arquivo para todos os possíveis substituir toda a cadeia, então não faça isso).

Se você alternar para uma exibição entidade em vez de uma exibição do campo que você pode ser capaz de reduzir o número de modelos carregados e, portanto, obter uma menor melhoria na prestação de velocidade. Isso pressupõe que a exibição da entidade também tome medidas para evitar modelos no nível do campo e / ou provavelmente já esteja armazenada em cache em outro lugar. Provavelmente, isso exigiria muito trabalho humano caro, para pouquíssimas melhorias no desempenho da máquina.


2
Ok, agora todo o mecanismo fica mais claro para mim. No final das contas, os comentários e as respostas aqui tendem a dizer que é um esforço errado e desproporcional evitar as substituições de modelos para acelerar o desempenho. Obrigado!
Senhora Adam
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.