Dapatkan nilai sesi dalam file template

Sep 18 2020

Saya mencoba untuk mendapatkan nilai yang ditetapkan dalam sesi di file template, tetapi saya tidak mendapatkan nilai yang diharapkan. Saya mencoba dua metode, tetapi tidak satupun yang berhasil untuk saya.

Kode di pengontrol modul kustom adalah sebagai berikut.

$xyz ='tets'; $session = \Drupal::request()->getSession();
//$session->set('xyz', $roles);
$session->set('abc', $xyz);

Kode di file template adalah sebagai berikut.

{% set varname = app.session.get('abc') %}
{{ varname }}

Saya mencoba menggunakan kode berikut juga.

$tempstore = \Drupal::service('user.private_tempstore')->get('mymodule_name'); $tempstore->set('num_donateur', $num_donateur);

Jawaban

asdsadsaadasdsa Sep 23 2020 at 16:33

Saya menyelesaikan ini dengan mengirim variabel sesi di tema template_preprocess dan kemudian memanggil variabel di file ranting.

template.theme: -

template_preprocess($variables){ $session = \Drupal::request()->getSession();
   $variables['abc'] = $session->get('abc'); 
}

Variabel panggilan dalam file ranting: -

{{ abc }}