Смена 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;
но первый вариант предпочтительней.