Отдать заголовок 404 из кастомного скрипта

Дата публикации: 06.09.2014

Версия UMI.CMS: 2.8.0+

 

При обращении к несуществующей странице UMI.CMS отдает заголовок 404  и обрабатывает шаблон /tpls/content/not_found/default.tpl

 

Как можно  принудительно отдать заголовок 404 из кастомного макроса? Казалось бы,  вызвать метод content::gen404(). Однако, при этом отдается заголовок 200. Посему просто скопируем содержимое метода:

 



public function notfound(){
	
	$template = 'default';//шаблон, по которому отобразится контент

	$buffer = outputBuffer::current();
	$buffer->status('404 Not Found');

	def_module::setHeader('%content_error_404_header%');
	list($tpl_block) = def_module::loadTemplates("content/not_found/".$template, 'block');
	$template = $tpl_block ? $tpl_block : '%content_usesitemap%';
	return def_module::parseTemplate($template, array());
}
	


 

Как задать время модификации:



$buffer->header('Last-Modified', (gmdate('D, d M Y H:i:s', time()) . ' GMT'));
$buffer->header('Expires', (gmdate('D, d M Y H:i:s', time() + 24 * 3600) . ' GMT'));




=================
2014-09-06