¿Existe una alternativa más eficaz que anular los archivos de plantilla?


8

Tengo que deshacerme de un marcado innecesario en una vista. En general, lo logro anulando los archivos de plantilla en mi tema, pero esta vez la vista es realmente enorme y el rendimiento está bajando. Entonces me pregunté si hay una forma más eficaz de reducir el marcado. Al modificar el marcado de un nodo, que las funciones de preproceso son más rápidas que anular los archivos de plantilla, ¿existe un mecanismo analógico para las vistas?

Edición 1: Claro, la razón del bajo rendimiento no es la anulación de los archivos de plantilla en primer lugar, pero si puedo optimizar un poco allí, tendré que hacerlo. Además, regularmente me meto en problemas al deshabilitar el marcado en la propia interfaz de usuario de las vistas: deshabilitar los estilos de fila, por ejemplo, se ignora cuando uso un subtema Omega ...

Edición 2: conozco las posibilidades dentro de la interfaz de usuario de Vistas ; Lo que estoy buscando es una forma manual con control fino.


3
¿Qué te hace pensar que reemplazar archivos de plantilla está causando una disminución en el rendimiento? No digo que no lo sea, necesariamente, pero parece que eso sería poco probable. A menos que no solo elimine el marcado, sino que también cambie la lógica. ¿Quizás pueda editar la pregunta y proporcionar un poco más de contexto? ¿Algunos detalles más específicos sobre la vista y los archivos de plantilla?
Clive

Se agregaron algunos detalles arriba.
Señora Adam

¿Rendimiento lento incluso con el almacenamiento en caché activado? (Vistas caché + caché de página Anon + Memcache (quizás) + Barniz (quizás))
Beebee

Respuestas:


8

Puede eliminar marcas innecesarias a través de la IU de Vistas.

Cuando agrega un campo, oculto en Configuración de estilo, siempre tienen esta marca de verificación innecesaria predeterminada

ingrese la descripción de la imagen aquí

Además, puedes eliminar más marcas aquí

ingrese la descripción de la imagen aquí

y aquí

ingrese la descripción de la imagen aquí


Gracias por su respuesta, pero soy consciente de las posibilidades dentro de las vistas ui; Lo que estoy buscando es una forma manual con un control fino.
Señora Adam

7

A veces es más eficiente con Ver para mostrar contenido en lugar de campos. Esto se aprovecha mejor con modos de vista personalizados, donde configura el modo de vista para mostrar los campos que desea. Luego puede hacer que se muestre ese modo de vista lo que quiera a través de plantillas y formateadores. Esto tiende a funcionar bien cuando tienes Entitycache .

Dicho esto, todos los sistemas son diferentes. La verdadera elaboración de perfiles es realmente la mejor manera de descubrir lo que lleva tiempo. Personalmente, no creo que el marcado de vistas agregue un tiempo significativo a la ejecución.


Enfoque interesante: haré un perfil de esto.
Señora Adam

7

la razón del débil rendimiento no es la anulación de los archivos de plantilla en primer lugar, pero si puedo optimizar un poco allí, tendré que hacerlo

Parece que te están alentando a optimizar prematuramente. Si la vista sufre problemas de rendimiento, asegúrese de que el almacenamiento en caché esté habilitado en la vista para evitar renderizar el HTML desde cero tanto como sea posible. Eso proporcionará un impulso mucho mayor al rendimiento que casi cualquier reducción en el número de archivos involucrados en el proceso de renderizado.

Una vez que se crea el registro de temas, tener muchas plantillas anuladas no debería ser un golpe notable en el rendimiento sobre el uso de los valores predeterminados, ya que Drupal todavía está cargando una cantidad similar de archivos (he visto una excepción a esto si crea un archivo para cada posible anular en toda la cadena, así que no hagas eso).

Si cambia a una visualización de entidad en lugar de una visualización de campo, puede reducir el número de plantillas cargadas y, por lo tanto, obtener una mejora menor en la velocidad de renderizado. Eso supone que la visualización de la entidad también toma medidas para evitar plantillas a nivel de campo y / o probablemente ya esté almacenada en caché en otro lugar. Probablemente esto supondría una gran cantidad de mano de obra humana costosa para muy poca mejora en el rendimiento de la máquina.


2
Bien, ahora todo el mecanismo se vuelve más claro para mí. En resumen, los comentarios y las respuestas aquí tienden a decir que es un esfuerzo incorrecto y desproporcionado para evitar anulaciones de plantilla para acelerar el rendimiento. ¡Gracias!
Señora Adam
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.