Не удаётся вывод суммы корзины в шапке
Работает, если url = /total и выводит {"path":0,"status":"success","message":18000}
на белой (пустой) странице. "message":18000 — верно, но нужно в определённом месте и на всех страницах.
Вот это контроллер такой у меня:
public function totalAction()
{
$total = $this->model->cartTotal(0);
$this->view->message(0, 'success', $total ?? 0);
}
Метод cartTotal работает достойно, к нему претензий нет.
Вот это метод message:
public function message($path, $status, $message)
{
exit(json_encode(['path' => $path, 'status' => $status, 'message' => $message]));
}
Вот такой javascript:
document.addEventListener('DOMContentLoaded', async () => {
try {
const response = await fetch(window.location.href, { method: 'POST' });
const json = await response.json();
if (json.status === 'success') {
document.getElementById('cart-total').textContent = json.message + ' ₽';
}
} catch (error) {
console.error('Ошибка при получении суммы корзины:', error);
}
});
Ну и вывод в главном шаблоне:
<span id="cart-total"></span>