web-dev-qa-db-fra.com

Comment empêcher la mise en cache d'un bloc?

Après la connexion. J'ajoute un bloc de barre latérale. Une fois que j'efface le cache, seule la variable est mise à jour ou sa valeur.

namespace Drupal\test_demo\Plugin\Block;

use Drupal\Core\Block\BlockBase;

/**
 * Provides 'Sidebar' Block
 *
 * @Block(
 *   id = "sidebar_block",
 *   admin_label = @Translation("Sidebar Block"),
 *   category = @Translation("Sidebar Block"),
 * )
 */

class SidebarBlock extends BlockBase {
  public function build() {
    return [
      '#markup' => $this->t('Sidebar'),
      '#cache' => [
            'max-age' => 0,
          ]
      ];
  }
}

Dans mytheme.theme

function theme_preprocess_block(array &$variables) {
  echo $variables['elements']['#id'];
}

Comment puis-je empêcher la mise en cache de ce bloc. Donc, une fois que je rafraîchis la page. Il charge la valeur immédiatement.

8
Mike
21
Mike

Vous pouvez simplement basculer la mise en cache sur Aucun dans les options avancées du bloc de vue

0
user3608756