Есть функция отправки email-уведомлений на почту администратора. Функция рабочая (уведомление приходит), но она срабатывает каждый раз когда обновляешь страницу.
Есть ли способы хранить информацию об отправленном сообщении к кэш-файле и каждый раз при перезагрузке браузера не отправлялось?
$date_to_check = new DateTime($arElementItem['PROP']['PRIK']['VALUE']);
$now = new DateTime(); // время сейчас
if ( $now->getTimestamp() == $date_to_check->getTimestamp()) {
$to = $arElementItem['PROP']['EMAIL']['VALUE'];
$subject = 'Дата принятия комерческой части';
$message = 'Дата принятия комерческой части просрочена';
mail($to, $subject, $message);
}
Функция есть такая конечно
$cache = Bitrix\Main\Data\Cache::createInstance();
if ($cache->initCache($cacheTime, $cacheId, $cacheDir)) {
$result = $cache->getVars();
} elseif ($cache->startDataCache()) {
// Здесь выполняем нужные действия
$cache->endDataCache($result);
}
Только в данном случае потребность в ней говорит об ошибках в архитектуре вашего проекта.
Как развивать веб-проекты в 2026 году: технологии, контент E-E-A-T и факторы доверия
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники