¿Es mejor utilizar un archivo de plantilla independiente para la página principal?

StackOverflow https://stackoverflow.com/questions/1746592

  •  20-09-2019
  •  | 
  •  

Pregunta

En términos de:

  1. Velocidad
  2. Procesamiento requerido (que influirá en la velocidad)
  3. Siguiendo estándares

¿Cuál de los siguientes dos métodos será mejor?

Quiero crear un diseño de página general, sin embargo, la página principal se verá diferente a la apariencia normal.

Método 1

Creando un archivo page.tpl.php normal pero con el siguiente código:

.....
<body>
  <?php if (isFront()) { 
          // lots of stuff for the frontpage
        }
        else 
        {
          // lots of stuff for the other pages
        }
  ?>
</body>

Método 2

Cree dos páginas distintas, a saber, page.tpl.php y front.tpl.php.El código se duplicará, pero la página principal y las demás páginas tendrán cada una su propio archivo dedicado.

¿Fue útil?

Solución

Yo diría que el método 2 es mejor. Creo que la velocidad no se verá afectada en gran medida de cualquier manera, y no hay normas estrictas acerca de esto, pero la excesiva ramificación en los archivos de plantilla no se recomienda.

Sin embargo, yo estaría interesado en ver lo que el código específico página de inicio es. Drupal le dará a la primera página de una clase CSS "frontal" por lo que puede ser de estilo diferente y bloques puede ser creado para mostrar sólo en la primera página. Así que puede que no haya necesidad de una plantilla de página frontal específico.

Otros consejos

Abordaré tus puntos en orden inverso:

NORMAS

Creo que el método estándar aceptado (al menos cuando se trabaja con temas basados ​​en zen) es crear una plantilla específica.En realidad, no es necesario poner ninguna función de tema adicional para que funcione, como si le pusieras un nombre. page-front.tpl.php Se utilizará exclusivamente para la portada.Por supuesto, esto se aplica solo si realmente necesita una plantilla separada (consulte la respuesta de Jeremy sobre esto).

TRÁMITE REQUERIDO

No creo que haya una diferencia perceptible íntimamente relacionada con la naturaleza de los dos métodos diferentes.Si todo lo demás sigue igual, sigue siendo cuestión de que la computadora abra un archivo (la plantilla) y procese el PHP en él, ya sea el mismo archivo u otro.La solución #1 tiene una if declaración más pero...¿Realmente hace una diferencia?

VELOCIDAD

Si realmente necesita una optimización, leo (si no me equivoco en Desarrollo profesional Drupal) que crear un tema para una página a través de una plantilla es 5 veces más lento que hacerlo a través de una función, por lo que también podría considerar esa solución, aunque creo que esto solo traería un beneficio si la página de inicio no se puede almacenar en caché.

¡HH!

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top