Терминология кеша панелей - в чем разница между кешированием по аргументу или контекстом?

Я пытаюсь научиться настраивать кеширование панелей. Я смотрел видео на освоение кэширования Drupal , и у меня есть книга от Earl Miles на панелях и представлениях, Строительные блоки Drupal , но, к сожалению, в кешировании нет отдельной главы.

Итак, у меня есть панель, которая переопределяет профиль пользователя, и на этой панели у меня есть вариант, который имеет несколько видов контента. Я хотел бы кэшировать эти панели контента для каждого отображаемого профиля пользователя, поскольку, очевидно, они должны отличаться для каждого просматриваемого пользователя.

Каждая из этих панелей контента имеет Контекстный фильтр на Содержание: Авторский идентификатор .

Значение передается на панели с помощью параметра Аргумент ввода в представлениях, для которых источник Content: Author uid установлен в Из контекста и Требуемый контекст установлен в ИД пользователя :

просмотр снимков экрана

В панелях на экране конфигурации Простой кеш для Гранулярности я могу выбрать Аргумент или Контекст >, а текст справки следующий:

  

Если выбраны «аргументы», этот контент будет кэшироваться за   индивидуальный аргумент для всего дисплея; если выбраны «контексты»,   этот контент будет кэшироваться в уникальном контексте на панели или дисплее;   если «ни один» для этой панели не будет только одного кеша.

Но в представлениях параметр называется аргументом input , и значение, которое я выбрал, было из контекста . Так я имею дело с аргументом или контекстом?

Если возможно, как общий ответ, описывающий разницу между аргументом и контекстом в этом случае, так и конкретный ответ на мой вопрос, будет фантастическим.

7 голосов | спросил Patrick Kenny 23 PM00000070000002531 2013, 19:06:25

1 ответ


7

Отказ от ответственности: я обычно считаю, что установка достаточно проста, чтобы разграничение не было необходимо, поэтому я должен признать, что мой практический опыт ограничен, и я мог ошибаться ниже.

Arguments, основаны на URL-адресе. node/5 получает кеширование отдельно от node/7, потому что 5 отличается от 7. node/5/7, если у вас есть такой путь, это еще один кэш.

Contexts, обычно выводятся из Arguments, и в приведенных выше примерах очень вероятно, что кеши будут точно такими же, независимо от того, какой вариант кеша выбрать. Однако Contexts также может поступать из (по крайней мере) трех других источников, Relationships, вручную определенные, и специальный случай, зарегистрированный пользователь.

Если ваш контекст является как узлом из URL-адреса, так и пользователем, вытащенным из entity reference на узле, тогда ваш контекст два уникальных объекта или два контекста, но только один аргумент.

Итак, вы выбираете Context или Argument в зависимости от того, хотите ли вы, чтобы кеш принимал какие-либо «лишние» контексты, или нет.

  

Но в представлениях параметр называется аргументом, а значение, которое я выбрал, было из контекста. Так я имею дело с аргументом или контекстом?

К сожалению, терминология не совсем то же самое между двумя модулями. Панели вызывают динамические фрагменты URL-адресов и создают контексты из них. Представления, что-то ближе к аргументу функции, когда он ссылается на аргументы, и в этом конкретном случае он выведет аргумент из контекста, переданного панелями.

ответил Letharion 23 PM00000090000001031 2013, 21:06:10

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132