Domanda

In termini di:

  1. Velocità
  2. elaborazione richiesta (che influenzerà la velocità)
  3. A seguito di norme

Quale delle seguenti due metodi sarà meglio?

Voglio creare un layout di pagina generale, tuttavia, prima pagina avrà un aspetto diverso dal look normale grafico.

Metodo 1

La creazione di un file di page.tpl.php normale, ma con il seguente codice in esso:

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

Metodo 2

Creat due pagine distinte, e cioè page.tpl.php e front.tpl.php. Codice sarà duplicato, ma le pagine di FrontPage e altri hanno ciascuno il proprio file dedicato.

È stato utile?

Soluzione

Direi che il metodo 2 è meglio. Credo che la velocità non sarà fortemente influenzata in entrambi i casi, e non ci sono norme severe su questo, ma eccessiva ramificazione nel file di modello è scoraggiato.

Comunque sarei interessato a vedere quello che il codice specifico homepage è. Drupal darà la prima pagina di una classe CSS "fronte" in modo che possa essere in stile diverso e blocchi può essere creato per visualizzare solo sulla prima pagina. Quindi non ci può essere la necessità di un modello di prima pagina specifica.

Altri suggerimenti

I affronterà i punti in ordine inverso:

NORME

Credo che il metodo accettato standard (almeno quando si lavora con i temi zen-based) è quello di creare un modello specifico. In realtà non c'è bisogno di mettere qualsiasi funzione tematizzazione aggiuntiva per farlo funzionare, come se lo chiamate page-front.tpl.php sarà usato esclusivamente per la prima pagina. Questo naturalmente vale solo se si ha realmente bisogno di un modello separato (vedi la risposta di Jeremy su questo).

RICHIESTO TRATTAMENTO

Non credo che ci sia una differenza percepibile intimamente connessa con la natura dei due metodi diversi. Tutto il resto è lo stesso, è ancora una questione per il computer per aprire un file (il modello) ed elaborare il PHP in esso, se questo è lo stesso file o di un altro. Soluzione # 1 ha una dichiarazione if di più, ma ... è veramente fare la differenza?

VELOCITA '

Se siete veramente in cattive necessità di ottimizzazione, ho letto (se non sbaglio su Pro Drupal sviluppo ) che tematizzazione di una pagina tramite un modello è 5x volte più lento di farlo tramite una funzione, per cui si potrebbe prendere in considerazione questa soluzione troppo, anche se questo sarebbe solo portare un beneficio se la home page non è memorizzabile nella cache, credo.

HTH!

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top