Esiste un'alternativa più performante della sostituzione dei file modello?


8

Devo liberarmi di un sacco di markup non necessari in una vista. In generale, lo realizzo sovrascrivendo i file modello nel mio tema, ma questa volta la vista è davvero enorme e le prestazioni diminuiscono. Quindi mi chiedevo se esiste un modo più performante per ridurre il markup? Quando si modifica il markup di un nodo, le funzioni di preelaborazione sono più veloci della sostituzione dei file modello, esiste un meccanismo analogico per le viste?

Modifica 1: Certo, il motivo delle prestazioni deboli non è innanzitutto la sostituzione dei file modello, ma se riesco a ottimizzare un po 'lì, dovrò farlo. Inoltre, mi trovo regolarmente nei guai disabilitando il markup nelle viste dell'interfaccia utente stessa: la disabilitazione degli stili di riga, ad esempio, viene ignorata quando uso un sottotema Omega ...

Modifica 2: sono a conoscenza delle possibilità all'interno dell'interfaccia utente di Views ; Quello che sto cercando è un modo manuale con un controllo accurato.


3
Cosa ti fa pensare che l'override dei file modello stia causando una riduzione delle prestazioni? Non dire che non è necessariamente, ma sembra che sarebbe improbabile. A meno che non si stia solo eliminando il markup, ma anche cambiando la logica. Forse puoi modificare la domanda e fornire un po 'più contesto? Alcuni dettagli più specifici sulla vista e sui file modello?
Clive

Aggiunti alcuni dettagli sopra.
Madame Adam,

Rallentamento delle prestazioni anche con la memorizzazione nella cache attivata? (Vista cache + Anon page cache + Memcache (forse) + Varnish (forse))
Beebee

Risposte:


8

Puoi eliminare il markup non necessario tramite l'interfaccia utente di Views.

Quando aggiungi un campo, nascosto in Impostazioni stile, hanno sempre questo segno di spunta non necessario predefinito

inserisci qui la descrizione dell'immagine

Inoltre, puoi rimuovere più markup qui

inserisci qui la descrizione dell'immagine

e qui

inserisci qui la descrizione dell'immagine


Grazie per la tua risposta, ma sono consapevole delle possibilità all'interno dei punti di vista; quello che sto cercando è un modo manuale con un controllo accurato.
Madame Adam,

7

A volte è più performante con Visualizza per visualizzare il contenuto anziché i campi. Questo è sfruttato al meglio con le modalità di visualizzazione personalizzate, in cui è possibile configurare la modalità di visualizzazione per mostrare i campi desiderati. È quindi possibile effettuare la visualizzazione di quella modalità di visualizzazione come desiderato tramite modelli e formattatori. Questo tende a funzionare bene quando si ha Entitycache .

Detto questo, tutti i sistemi sono diversi. La vera profilazione è davvero il modo migliore per capire cosa richiede tempo. Personalmente, non credo che il markup delle viste stia aggiungendo tempi significativi all'esecuzione.


Approccio interessante: descriverò questo profilo.
Signora Adam,

7

il motivo delle prestazioni deboli non è innanzitutto la sostituzione dei file modello, ma se riesco a ottimizzare un po 'lì, dovrò farlo

Sembra che tu sia incoraggiato a ottimizzare prematuramente. Se la vista presenta problemi di prestazioni, assicurarsi che la memorizzazione nella cache sia abilitata per evitare il rendering dell'HTML il più possibile. Ciò fornirà un aumento delle prestazioni di gran lunga maggiore di quasi qualsiasi riduzione del numero di file coinvolti nel processo di rendering.

Una volta creato il registro dei temi con molti modelli sovrascritti, non dovrebbe essere un notevole riscontro in termini di prestazioni rispetto all'uso delle impostazioni predefinite poiché Drupal sta ancora caricando un numero simile di file (ho visto un'eccezione se si crea un file per ogni possibile ignora l'intera catena, quindi non farlo).

Se si passa a una visualizzazione di entità anziché a una visualizzazione di campo, è possibile ridurre il numero di modelli caricati e quindi ottenere un lieve miglioramento nella velocità di rendering. Ciò presuppone che la visualizzazione delle entità comporti anche delle misure per evitare modelli a livello di campo e / o è probabilmente già memorizzata nella cache altrove. Probabilmente si tratterebbe di molto lavoro umano costoso per un piccolo miglioramento delle prestazioni della macchina.


2
Bene, ora l'intero meccanismo diventa più chiaro per me. In conclusione, i commenti e le risposte qui tendono a dire che è uno sforzo sbagliato e sproporzionato evitare le sostituzioni dei template per accelerare le prestazioni. Grazie!
Signora Adam,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.