¿Es mejor utilizar un archivo de plantilla independiente para la página principal?
-
20-09-2019 - |
Pregunta
En términos de:
- Velocidad
- Procesamiento requerido (que influirá en la velocidad)
- 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.
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!