Я должен избавиться от множества ненужных разметок в представлении. В общем, я достигаю этого, переопределяя файлы шаблона в моей теме, но на этот раз представление действительно огромно, а производительность снижается. Вот я и подумал, а есть ли более эффективный способ уменьшить разметку? При изменении разметки узла, чем функции предварительной обработки быстрее, чем переопределение файлов шаблонов, существует ли аналогичный механизм для представлений?
Редактировать 1: Конечно, причина слабой производительности не в переопределении файлов шаблонов, но если я смогу немного оптимизировать, мне придется это сделать. Кроме того, я регулярно попадаю в неприятности, отключая разметку в самом пользовательском интерфейсе представлений: например, отключение стилей строк игнорируется, когда я использую подтему Omega …
Изменить 2: я знаю о возможностях внутри пользовательского интерфейса Views ; То, что я ищу, это ручной способ с точным контролем.
Ответы:
Вы можете устранить ненужную разметку через пользовательский интерфейс Views.
Когда вы добавляете поля, скрытые в настройках стиля, они всегда имеют эту ненужную галочку по умолчанию
Кроме того, вы можете удалить больше разметки здесь
и здесь
источник
Он иногда более производительный с видом на содержание дисплея вместо полей. Это лучше всего использовать в пользовательских режимах просмотра, где вы настраиваете режим просмотра для отображения нужных полей. Затем вы можете сделать отображение этого режима просмотра любым, используя шаблоны и средства форматирования. Это имеет тенденцию работать хорошо, когда у вас есть Entitycache .
Тем не менее, все системы разные. Истинное профилирование - действительно лучший способ выяснить, что требует времени. Лично я не думаю, что разметка представлений увеличивает время выполнения.
источник
Похоже, вас поощряют преждевременную оптимизацию. Если представление испытывает проблемы с производительностью, убедитесь, что в представлении включено кэширование, чтобы избежать максимально возможного рендеринга HTML с нуля. Это обеспечит гораздо больший прирост производительности, чем практически любое уменьшение количества файлов, участвующих в процессе рендеринга.
После того, как реестр тем будет создан с большим количеством переопределенных шаблонов, не должно быть заметного снижения производительности по сравнению с использованием настроек по умолчанию, поскольку Drupal по-прежнему загружает аналогичное количество файлов (я видел исключение из этого, если вы создаете файл для всех возможных переопределить во всей цепочке, так что не делайте этого).
При переключении на дисплей объекта вместо отображения поля вы можете быть в состоянии уменьшить количество шаблонов , загруженных и , следовательно , получить незначительное улучшение скорости рендеринга. Это предполагает, что отображение объекта также предпринимает шаги, чтобы избежать шаблонов уровня поля и / или, вероятно, уже кэшируется в другом месте. Скорее всего, это потребует большого количества дорогостоящего человеческого труда при очень незначительном улучшении производительности машины.
источник