Рейтинг:0

Создать контекст кеша для анонимных пользователей на основе диапазона IP-адресов

флаг mx
awm

У меня есть форма в пользовательском блоке, которая отображается на главной странице сайта Drupal 9 в Acquia Cloud. Я хочу иметь разные дисплеи для пользователей из определенных диапазонов IP-адресов. Возможно ли это сделать, оставив все кеширование Drupal, такое как динамический кеш страниц и внутренний кеш страниц?

Если возможно, как мне создать контексты кеша для этого пользовательского блока/формы, чтобы Drupal знал, что нужно кэшировать различные отображения на основе этого контекста? любые примеры были бы замечательными.

Я знаю, что могу выполнить это на стороне клиента или с помощью ajax, но я бы хотел этого избежать.

4uk4 avatar
флаг cn
Уже существует контекст на основе IP. См. https://api.drupal.org/api/drupal/core%21lib%21Drupal%21Core%21Cache%21Context%21IpCacheContext.php/class/IpCacheContext/9.2.x. Но если у вас есть только несколько диапазонов IP-адресов, вы можете реализовать собственный контекст кеша, возвращающий только эти регионы, а не каждый отдельный IP-адрес, и таким образом сэкономить много места в кеше. Кстати, вам нужно удалить внутренний кэш страниц, он не работает с контекстами кеша.
awm avatar
флаг mx
awm
спасибо - я попробую, но я рассматриваю другой подход, так как работа с кешем может иметь нежелательные последствия.

Ответить или комментировать

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