Как выводить Last Modified
Материал из Umicms
Версия от 14:14, 10 января 2018; Ekaterina.ermohina (обсуждение | вклад)
Как выводить Last-Modified?
Актуально для версии 2.17
Нижеуказанный код можно использовать в старых версиях системы. В актуальной версии системы для вывода Last-Modified используйте директиву calculate-last-modified = 1 в файле config.ini
Попробуйте добавить следующий код в ~/classes/modules/custom.php сразу после строки
//TODO: Write your own macroses here
public function lastMDF() {
$LastModified_unix = 1294844676; // время последнего изменения страницы
$LastModified = gmdate("D, d M Y H:i:s \G\M\T", $LastModified_unix);
$IfModifiedSince = false;
if (isset($_ENV['HTTP_IF_MODIFIED_SINCE']))
$IfModifiedSince = strtotime(substr($_ENV['HTTP_IF_MODIFIED_SINCE'], 5));
if (isset($_SERVER['HTTP_IF_MODIFIED_SINCE']))
$IfModifiedSince = strtotime(substr($_SERVER['HTTP_IF_MODIFIED_SINCE'], 5));
if ($IfModifiedSince && $IfModifiedSince > $LastModified_unix) {
header($_SERVER['SERVER_PROTOCOL'] . ' 304 Not Modified');
exit;
}
header('Last-Modified: '. $LastModified);
$header = '<meta http-equiv="Last-Modified" content="'.gmdate("D, d M Y H:i:s").' GMT" />';
return $header;
}
Регистрировать его нигде не нужно.
Пример использования:
Вставляете следующий макрос в шаблоне .tpl в тэге <head>
%custom lastMDF()%
Дата будет выводится текущая. Если хотите, можете поправить на любую другую.