Здравствуйте, у меня на странице выводится некая информация, которая может быть обновлена(изменена), и необходимо каждые 5 секунд обновлять данный блок(другой вариант не придумал).
Вопрос как это сделать в шаблоне TWIG?
Раньше, при использовании шаблонов PHP, я просто отправлял POST запрос и в шаблоне прописывал данный код:
<?php
if (($_SERVER['REQUEST_METHOD'] == 'POST') && (isset($_POST['update_list']))) {
ob_end_clean();
}
?>
..... <!-- Тот самый блок, который необходимо обновлять -->
<?php
if (($_SERVER['REQUEST_METHOD'] == 'POST') && (isset($_POST['update_list']))) {
exit();
}
?>
Но я не знаю как такое сделать в шаблоне TWIG, и может есть более хороший вариант.
Комментарии
Лучше уж через ajax, я думаю
вопрос в том как мне указать в шаблоне twig, откуда и до откуда он должен обновлять, т.е. ob_end_clean(); и exit();
Теперь, делайте нормально.
Есть конкретные мысли? я и хочу сделать нормально, но как?
Есть мысль посоветовать почитать литературу для новичков. Если готовы рассмотреть более конкретно - распишу.
Литературу на какую тему? Если будет полезная - то да
Начните с этого:
А как использовать Fetch с Drupal? Чтобы обновить к примеру блок div?
Нужно каждые 5 секунд выполнять запрос Fetch, и получить данный блок и потом его заменить просто?
Оффтоп, просто интересно.
А что будет с кешированием?
А каким образом fetch зависит от технологии, с которой его используют?
В том смысле, правильно ли я понял, что нужно сделать?
Нужно каждые 5 секунд выполнять запрос Fetch, и получить данный блок и потом его заменить просто?
Надеюсь, знак вопроса там случайно.
Ок. Что нужно сделать, моя версия:
- добавить роут (контроллер, путь, страницу, точку доступа.. как хотите), который будет ответственен за выдачу нужных данных.
- написать скрипт, с логикой, для клиента (на Javascript), который будет делать запросы на этот роут, с нужным интервалом, и обновлять данные.
Использовать фетч, аякс, любую приглянувшуюся либку, которая под капотом сделает все за вас - уже дело вкуса.
Не вижу здесь никаких сложностей и необходимости что-либо изобретать. Хотя, если заморочится и фц-нал нужен в различных местах - можно сообразить свою аякс-командочку, как советовали ранее.
Не надо делать это в шаблоне twig
Вы должны отловить событие изменения/добавления навесить на него свой обработчик в котором написать вашу аякс команду.