У меня есть страница, где я хочу показать некоторые результаты из базы данных, поэтому я выполняю запрос в hook_preprocess_node и передаю переменную в шаблон ветви. запрос работает нормально, но только в первый раз, но после этого страница получает кеширование. Поэтому я не вижу реальных данных, хранящихся в db. Когда я очищаю кеш, все работает нормально, потому что hook_preprocess_node выполняется снова. Я не хочу очищать кеш каждый раз. Как вы думаете, проблема в том, что я отключил кеш-ключ?preprocess_node вводится только в первый раз
0
A
ответ
1
Если результат запроса зависит от URL, вы должны установить контекст рендеринга массива
function themename_preprocess_node(&$variables) {
$variables['#cache']['contexts'][] = 'url';
или более конкретном контексте
function themename_preprocess_node(&$variables) {
$variables['#cache']['contexts'][] = 'url.path';
Docs. https://www.drupal.org/docs/8/api/cache-api/cache-contexts
Смежные вопросы
- 1. Речь только в первый раз
- 2. События только в первый раз
- 3. цикл меняется только первый раз
- 4. Ответ от Volley в первый раз только
- 5. Переменная Javascript работает только в первый раз
- 6. jQuery ajax работает только в первый раз
- 7. Pebble принимает данные только в первый раз
- 8. JSON-запрос работает только в первый раз
- 9. предопределенное условие рассчитывается только в первый раз
- 10. Функция vim работает только в первый раз
- 11. css анимация работает только в первый раз
- 12. сообщение чата только в первый раз
- 13. appendChild работает только в первый раз
- 14. Обработчик sendMessageDelayed работает только в первый раз
- 15. Регистрация событий работает только в первый раз
- 16. Обновление Ajax работает только в первый раз
- 17. Event работает только в первый раз
- 18. JQuery .load() работает только в первый раз
- 19. winPrint.print работа только в первый раз
- 20. CLAuthorizationStatus AuthorizedWhenInUse вызывается только в первый раз
- 21. performSegueWithIdentifier задержка только в первый раз
- 22. переменная области обновления только в первый раз
- 23. Editext InputLayout.setError показывает только в первый раз
- 24. jQuery append() только в первый раз
- 25. AutoHotKey SetFormat работает только в первый раз?
- 26. диалог jquery открывается только в первый раз
- 27. Android Animation работает только в первый раз
- 28. Общая память работает только в первый раз
- 29. Только обновление привязки DataGrid в первый раз
- 30. .click() событие выполнено только в первый раз
i добавление переменных $ ['# cache'] ['max-age'] = 0; работайте – khodadadi