Древесина::визуализация канала.rss.веточка с заголовком типа содержимого XML

#php #twig #rss #content-type #timber

#php #прут #RSS-канал #тип контента #древесина

Вопрос:

У меня есть пользовательский XML-RSS-канал WordPress, который скомпилирован из шаблона my-feed.rss.twig Twig.

Есть ли способ установить Content-type: text/xml заголовок в Timber::render ?

На данный момент следующее работает, но кажется банальным:

 // Seems hacky, but works...  Timber::render('my-feed.rss.twig', $context);  header('Content-Type: ' . feed_content_type('rss-http'), true);  

Комментарии:

1. Согласно документации для этого кода, render() «Передает данные в файл ветки и повторяет вывод». таким образом, ваш код, как показано, не работает. Если вы проверите свои журналы PHP, вы увидите уведомление «заголовки уже отправлены». Позвоните header('Content-Type: application/rss xml );` прежде чем вы позвоните Timber::render() .

2.@miken32 Да, заголовок, вероятно, должен быть раньше Timber::render , но мой пример работает. Никаких уведомлений и соответствующего заголовка типа содержимого. Еще раз: я действительно двигался header() раньше Timer::render , но результат для меня точно такой же. Мой вопрос был в том, нет ли лучшего способа, чем использовать header()

3. Тогда их документация должна быть неверной, нет абсолютно никакого способа установить заголовок HTTP после вывода содержимого. Я думаю header() , что это единственная подходящая функция для установки заголовка HTTP.