Ich muss eine Menge unnötiger Markups in einer Ansicht loswerden. Im Allgemeinen erreiche ich dies, indem ich die Vorlagendateien in meinem Thema überschreibe. Diesmal ist die Ansicht jedoch sehr groß und die Leistung nimmt ab. Also habe ich mich gefragt, ob es einen performanteren Weg gibt, um das Markup zu reduzieren. Gibt es beim Ändern des Markups eines Knotens einen analogen Mechanismus für Ansichten, da Vorverarbeitungsfunktionen schneller sind als das Überschreiben von Vorlagendateien?
Edit 1: Sicher, der Grund für die schwache Leistung ist nicht das Überschreiben von Vorlagendateien, aber wenn ich dort ein bisschen optimieren kann, muss ich das tun. Außerdem bekomme ich regelmäßig Probleme, wenn ich das Markup in der Benutzeroberfläche von Ansichten selbst deaktiviere: Das Deaktivieren von Zeilenstilen wird beispielsweise ignoriert, wenn ich ein Omega- Unterthema verwende.
Bearbeiten 2: Ich bin mir der Möglichkeiten in der Benutzeroberfläche von Ansichten bewusst . Was ich suche, ist ein manueller Weg mit Feinsteuerung.
Antworten:
Sie können unnötiges Markup über die Benutzeroberfläche für Ansichten vermeiden.
Wenn Sie ein Feld hinzufügen, das unter Stileinstellungen ausgeblendet ist, haben sie immer dieses standardmäßige unnötige Häkchen
Außerdem können Sie hier weitere Markups entfernen
und hier
quelle
Bei View ist es manchmal leistungsfähiger, Inhalte anstelle von Feldern anzuzeigen. Dies lässt sich am besten mit benutzerdefinierten Ansichtsmodi nutzen, in denen Sie den Ansichtsmodus so konfigurieren, dass die gewünschten Felder angezeigt werden. Sie können diesen Ansichtsmodus dann über Vorlagen und Formatierer beliebig anzeigen. Dies funktioniert in der Regel gut, wenn Sie über Entitycache verfügen .
Das heißt, alle Systeme sind unterschiedlich. Echte Profilerstellung ist wirklich der beste Weg, um herauszufinden, was Zeit braucht. Persönlich glaube ich nicht, dass das Markup für Ansichten der Ausführung eine signifikante Zeit hinzufügt .
quelle
Klingt so, als würden Sie ermutigt, vorzeitig zu optimieren. Wenn in der Ansicht Leistungsprobleme auftreten, stellen Sie sicher, dass das Caching in der Ansicht aktiviert ist, um zu vermeiden, dass der HTML-Code so weit wie möglich von Grund auf neu gerendert wird. Dies führt zu einer weitaus größeren Leistungssteigerung als fast jede Verringerung der Anzahl der am Rendering beteiligten Dateien.
Sobald die Theme-Registrierung mit vielen überschriebenen Vorlagen erstellt wurde, sollte die Leistung bei Verwendung der Standardeinstellungen nicht merklich beeinträchtigt werden, da Drupal immer noch eine ähnliche Anzahl von Dateien lädt (ich habe eine Ausnahme gesehen, wenn Sie für jede mögliche Datei eine Datei erstellen in der gesamten Kette überschreiben, also tu das nicht).
Wenn Sie zu einer Entitätsanzeige anstelle einer Feldanzeige wechseln, können Sie möglicherweise die Anzahl der geladenen Vorlagen reduzieren und somit die Rendergeschwindigkeit geringfügig verbessern. Dies setzt voraus, dass die Entitätsanzeige auch Schritte unternimmt, um Vorlagen auf Feldebene zu vermeiden, und / oder wahrscheinlich bereits an anderer Stelle zwischengespeichert wird. Dies wäre wahrscheinlich eine Menge teurer menschlicher Arbeit für eine sehr geringe Verbesserung der Maschinenleistung.
quelle