Здравствуйте.
Есть два варианта вывода полей:
- Стандартное (
print render($content['поле']
) - и через views (через Контекстные фильтры по NID выводятся поля в ноду)
Вопрос: есть ли разница в производительности?
Здравствуйте.
Есть два варианта вывода полей:
print render($content['поле']
)Вопрос: есть ли разница в производительности?
Комментарии
Шаблонная темизация априори производительней вьюшной...
Но, на сегодня (конец 2019), даже при ресурсах дешевого хостинга (3$), этой разницы вы не "почувствуете".
Вопрос лишь в skill'ах, поддержке и возможностях. Кому-то первое "роднее", кому-то второе... отсюда и холивары хорошие выходят.
Почему только "print render($content['поле']"? Ведь можно практически все элементы сайта так отрендерить. Я не понимаю зачем Друпал тем, кто выводит все программно.
Просто информации слишком много. И она устаревает. Раньше кричали, что Друпал слишком базу данных дергает сильно. Вот и решил программно может быть вывести?
Но тут сказали, что разницы в 2019 особо нет....
Да дергает. Правда закешировать можно, но все равно дергает.
Уходите?
Быстрее
3.
echo render($content['поле']);
Быстрее делать запросы к query. Но это явно не к друпал
Вообще-то, если выводить ноду через стандартный шаблон и если выводить так, как выводит автор, количество запросов в базу не изменится.
Это почему это? По идее views же удвоит запросы?
Это скорее к комментарию пользователя VasyOK про "программный вывод". Что касается вьюсов, они нормально кэшируются. Кроме того, запрос ноды с контекстным фильтром даже на огромной выборке займёт очень мало времени.
А вообще, нужно поставить devel и вывести блок со статистикой запросов, чтобы понять их количество и время выполнения.
У меня при кэшировании блока на ноде с контекстным фильтром "Кэшировать единожды всё (глобально)" он вообще почему-то перестает выводиться.