Рейтинг:1

Как обновить/перестроить блок без перезагрузки страницы?

флаг ru

У меня есть пользовательский блок, который отображает количество событий, добавленных в избранное (модуль флага). Я использую шаблон TWIG для отображения этих результатов. Я хочу обновить содержимое блока сразу после того, как пользователь пометит/снимет флаг с узла. В настоящее время я могу получить обновленное значение, только если перезагружу страницу.

build() выглядит так:

класс FavoritesBlock расширяет BlockBase
{

  /**
   * {@inheritdoc}
   */
  публичная функция getCacheMaxAge()
  {
    вернуть 0;
  }

  построение публичной функции()
  {

    $uid = \Drupal::currentUser();
    если ($uid->проверено()) {
      $flag = \Drupal::service('flag')->getFlagById('favorites');
      $count = \Drupal::service('flag.count')->getUserFlagFlaggingCount($flag, $uid);

      $test = "События добавлены в избранное: " . $количество;
      $link_url = Url::fromUri("https://my-site/my-favorite-events");

    $text = Link::fromTextAndUrl(t($test), $link_url)->toString();



    }
    возвращаться [
      '#разметка' => $текст,
      '#cache' => массив(

        'теги' => ['config:node_type_list'],
        'максимальный возраст' => 0,
      ),
    ];
  }
}

Я также столкнулся с EventSubscriber, который, кажется, запускается именно тогда, когда я хочу, то есть при пометке/снятии отметки, но я не знаю, полезен ли он в этой ситуации, у меня мало опыта.

Как можно добиться автоматической перезагрузки блока?

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.