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.
Vous avez la solution via https://stefvanlooveren.me/blog/disable-block-caching-drupal-8
Ajoutez la fonction ci-dessous à votre bloc
https://stefvanlooveren.me/blog/disable-block-caching-drupal-8
public function getCacheMaxAge() {
return 0;
}
Vous pouvez simplement basculer la mise en cache sur Aucun dans les options avancées du bloc de vue