Est-il préférable d'utiliser un fichier modèle séparé pour la première page?

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

  •  20-09-2019
  •  | 
  •  

Question

En termes de:

  1. Vitesse
  2. traitement requis (qui influence la vitesse)
  3. Se conformer aux normes

Laquelle des deux méthodes suivantes seront mieux?

Je veux créer une mise en page générale, cependant, le frontpage sera différent de l'apparence normale et se sentent.

Méthode 1

Création d'un fichier page.tpl.php normal, mais avec le code suivant dans le:

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

Méthode 2

Creat deux pages distinctes, à savoir page.tpl.php et front.tpl.php. Code sera dupliqué, mais les pages de Frontpage et d'autres auront chacun leur propre fichier dédié.

Était-ce utile?

La solution

Je dirais que la méthode 2 est mieux. Je pense que la vitesse ne sera pas grandement affectée de toute façon, et il n'y a pas de normes strictes à ce sujet, mais une ramification excessive dans les fichiers de modèle est déconseillée.

Cependant, je serais curieux de voir ce que la page d'accueil du code spécifique est. Drupal donnera la première page une classe css « avant » et peut donc être style différent et les blocs peuvent être créés pour afficher uniquement sur la première page. Donc, il ne peut y avoir besoin d'un modèle de page d'accueil spécifique.

Autres conseils

Je vais aborder vos points dans l'ordre inverse:

NORMES

Je crois que la méthode standard acceptée (au moins lorsque l'on travaille avec des thèmes à base zen) est de créer un modèle spécifique. Vous n'avez pas réellement besoin de mettre une fonction de thématisation supplémentaire pour que cela fonctionne, comme si vous nommez page-front.tpl.php il sera utilisé exclusivement pour la première page. Cela vaut évidemment que si vous avez vraiment besoin d'un modèle séparé (voir la réponse de Jeremy à ce sujet).

NÉCESSAIRE DE TRAITEMENT

Je ne pense pas qu'il y ait une différence perceptible intimement liée à la nature des deux méthodes différentes. Toutes choses étant le même, il est toujours une question de l'ordinateur pour ouvrir un fichier (le modèle) et traiter le PHP en elle, que ce soit le même fichier ou un autre. Solution n ° 1 a une déclaration if plus mais ... il ne fait vraiment une différence?

SPEED

Si vous êtes vraiment grand besoin d'optimisation, je lis (si je ne me trompe pas sur Pro Drupal développement ) qui thématisation une page via un modèle est 5x fois plus lent que de le faire via une fonction, donc vous pouvez envisager cette solution aussi, bien que cela apporterait seulement un avantage si la page d'accueil n'est pas cacheable, Je crois.

HTH!

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top