Кроме отсутствия гибкого управления (явно не хватает ряда hook-ов), о чем я говорил ранее, таксономия в 6-м Drupal еще и делает по два запроса на каждый node_load, а не хранится в кеше контента cache_content (это хорошо показывает devel).

При формировании, к примеру, главной ленты на lux-e.ru приходится вызывать node_load до полусотни раз. С учетом того, что на один nod_load приходится 8 запросов к базе — это выливается в 4 сотни запросов из которых сотня — привет от таксономии!
Что делать? В каждом случае ответ будет очень индивидуальным. Для вывода такого уникального объекта как лента статей, поможет кеширование всей ленты. Нужно подбирать способ кеширования, подходящий для архитектуры проекта. Решения вроде модуля boost, к сожалению убивают всю динамику блоков.
Стоит с помощью того же devel проанализировать кол-во и тяжесть запросов. Закешировать какие то объекты, части верстки, блоки. В общем, есть где развернуться программисту-оптимизатору.
Данная запись опубликована в 26.08.2013 14:58 и размещена в рубрике Drupal.
Вы можете перейти в конец страницы и оставить ваш комментарий.
Мало букафф? Читайте есчо !
Июль 23, 2023 г.
В терминологии Drupal, типы товаров это - бандлы (bundle) сущности commerce_product.
Получить их список можно вот так:
[crayon-69b25c1d6d8fd355364808/]
Как результат, в $product_types вы получите массив типов товаров, где ключом является ...
Читать
Март 11, 2025 г.
В Drupal 10/11 поддержка Oembed провайдеров в ядре (модуль media) позволяет легко и непринуждённо читать данные о медиа прямо из провайдера.
Ранее я рассказывал как зарегистрировать oembed для rutube, чтобы иметь возможность оперировать видео контентом ...
Читать
Декабрь 2, 2016 г.
Комментарии в Drupal выводятся от старых к новым. Т.е. чтобы увидеть последний (свежий) комментарий нужно идти на самую последнюю страницу (если комментарии разбились на несколько страниц) в самый конец списка комментариев.
Как изменить порядок вывода ...
Читать
Август 28, 2021 г.
Сниппет кода, демонстрирующий как alias создаётся в Drupal 9.
Ранее (в 8й версии) это был сервис ядра path.alias_storage, и код выглядел так:
[crayon-69b25c1d6dd61643936938/]
В 9й версии хранилище перенесли в entityTypeManager и потому выглядит ...
Читать