Принимает GET параметр только 1 раз

Главные вкладки

Аватар пользователя dragondesign dragondesign 22 сентября 2023 в 12:43

Столкнулся со странной штукой (возможно я недопонимаю чего) ( только в Drupal 10, в D9 работает отлично)

В общем пишу модуль, там надо принять get параметр в странице Controller. Но он принимает его только 1 раз. Потом если открывать страницу с другим параметром, нифига не срабатывает. Но стоит сбросить кеш и открыть с каким нибудь другим get параметром, сработает.. но снова только 1 раз...

Принимаю так:

<?php 
use Symfony\Component\HttpFoundation\RequestStack;

/**
   * The Symfony request stack.
   *
   * @var \Symfony\Component\HttpFoundation\RequestStack
   */
  
protected $requestStack;

  

/**
   * Constructs a new SortableTableDemoController.
   *
   * @param \Symfony\Component\HttpFoundation\RequestStack $requestStack
   *   The request stack.
   */
  
public function __construct(RequestStack $requestStack) {
    
$this->requestStack $requestStack;
  }

  

/**
   * {@inheritdoc}
   */
  
public static function create(ContainerInterface $container): self {
    return new static(
      
$container->get('request_stack')
    );
  }
 public function 
viewTableAddress(): array {
$request $this->requestStack->getCurrentRequest();
...
?>

Может связано как то с кешированием, но почему так жестко...
Буду благодарен вашим советам!

Решение, в route прописать:
options:
no_cache: 'TRUE'

Комментарии

Аватар пользователя gun_dose gun_dose 22 сентября 2023 в 15:48
2

Если вывод контроллера зависит только от гет-параметра, то лучше кэш не выключать, а сделать кэш-контекст по url