Смена contentType с html на xml в кастом методе

Материал из Umicms
Перейти к:навигация, поиск

Для некоторых задач может понадобиться создать страницу на сайте, c которой сторонний софт сможет забрать данные в xml-формате. Для решения данной задачи будет создан кастомный метод, в котором будут формироваться необходимые данные в xml-формате. Метод будет запущен на странице сайта, но если в конце метода будут стоять строки:

echo $data_xml;
exit;

то на странице будут отображены верные данные, но заголовок для страницы будет:

Content-Type: text/html

а необходимо:

Content-Type: text/xml

чтобы установить нужный Content-Type, итоговый вывод должен быть осуществлен следующим образом:

$buffer = outputBuffer::current();
$buffer->contentType('text/xml');
$buffer->clear();
$buffer->push($data_xml);
$buffer->end();

Скорее всего сработает и данный способ:

header("Content-type: text/xml");
echo $data_xml;
exit;

но первый вариант предпочтительней.