Frage

In Bezug auf:

  1. Geschwindigkeit
  2. Erforderliche Verarbeitung (die Geschwindigkeit beeinflussen wird)
  3. Im Anschluss an Standards

Welche der folgenden beiden Methoden besser sein wird?

Ich mag eine allgemeine Seitenlayout erstellen, aber die Titelseite aus dem normalen Erscheinungsbild anders aussehen wird.

Methode 1

Erstellen eine normale page.tpl.php Datei aber mit dem folgenden Code in ihm:

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

Methode 2

erstellen zwei verschiedene Seiten, nämlich page.tpl.php und front.tpl.php. Code dupliziert werden, aber die Titelseite und andere Seiten haben jeweils ihre eigene dedizierte Datei.

War es hilfreich?

Lösung

Ich würde sagen, dass Methode 2 besser ist. Ich denke, Geschwindigkeit wird nicht stark oder so beeinflusst werden, und es gibt keine strengen Normen darüber, aber eine übermäßige Verzweigung in Template-Dateien abgeraten.

Allerdings würde ich daran interessiert zu sehen, was die Homepage spezifische Code. Drupal wird der Titelseite eine „Front“ CSS-Klasse geben, damit es anders gestylt werden kann und Blöcke können erstellt werden, nur auf der ersten Seite angezeigt werden soll. So kann es keine Notwendigkeit für eine spezielle Frontseitenvorlage sein.

Andere Tipps

werde ich Ihre Punkte in umgekehrter Reihenfolge angehen:

STANDARDS

Ich glaube, den Standard akzeptierte Methode (zumindest bei der Arbeit mit Zen-basierten Themen) ist eine bestimmte Vorlage zu erstellen. Sie brauchen eigentlich nicht für sie arbeiten all zusätzliche Thematisierung Funktion zu setzen, als ob Sie es page-front.tpl.php nennen wird es ausschließlich für die Titelseite verwendet werden. Dies gilt natürlich nur, wenn Sie wirklich eine eigene Vorlage benötigen (Jeremy Antwort darüber sehen).

erforderliche Verarbeitungs

Ich glaube nicht, dass es ein wahrnehmbarer Unterschied ist eng mit der Natur der beiden unterschiedlichen Methoden verbunden. Alles andere gleich ist, es ist immer noch eine Angelegenheit für den Computer eine Datei (die Vorlage) zu öffnen und die PHP darin zu verarbeiten, ob es sich um die gleiche Datei oder eine andere. Lösung # 1 hat eine if Aussage mehr, aber ... ist es wirklich einen Unterschied machen?

SPEED

Wenn Sie wirklich in einem schlechten Optimierungsbedarf sind, lese ich (wenn ich nicht falsch bin auf Pro Drupal Entwicklung ), die über eine Vorlage, um eine Seite Thematisierung ist 5x mal langsamer als es über eine Funktion zu tun, so dass Sie auch diese Lösung betrachten könnten, auch wenn dies nur einen Vorteil bringen würde, wenn die Homepage nicht zwischenspeicherbar ist, ich glaube.

HTH!

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top