У меня есть системная настройка (число). Мне нужно, чтобы на сайте при клике на кнопку это число увеличивалось на 1. Я создал сниппет с таким содержанием:
<?php
$settingName = 'quiz_counter';
$currentCount = $modx->getOption($settingName);
$currentCount++;
$response = $modx->runProcessor(
'system/settings/update',
array(
'key' => $settingName,
'value' => $currentCount,
'namespace' => 'core'
)
);
$modx->reloadConfig();
Создал страницу с пустым шаблоном и вызвал на ней сниппет:
[[!quizCounter]]
И повесил обработчик на клик по кнопке. По клику происходит AJAX запрос к этой странице:
$('.btn').on('click', function() {
$.ajax({
url: '/system/quiz-counter-increment/',
data: ''
})
});
У меня всё работает, но только из-под админа. В режиме инкогнито или просто в разлогиненном состоянии не работает. Почему? Удалял полностью содержимое папки core/cache, нажимал Ctrl + F5 - не помогает.