Comecei a criar um aplicativo da Web usando o Joomla Framework . Consiste em uma página da web simples que será exibida em um iFrame junto com uma API que será usada para atualizar o conteúdo com o AJAX.
Eu segui a Introdução ao Composer e Joomla! artigo e tenha o aplicativo Framework em funcionamento. Eu personalizei a saída HTML padrão para funcionar no meu iFrame e iniciei a API. Usei o News como modelo e criei um controlador, modelo, tabela e exibição para minha API, que funciona muito bem. Criei um modelo Twig muito simples que retorna uma representação JSON dos meus dados como esta:
{{ items|json_encode|raw }}
Até aí tudo bem, mas eu recebo esse cabeçalho retornado, o que causará problemas ao usar o AJAX com o jQuery:
Content-Type:text/html; charset=utf-8
Eu pensei que seria um caso simples de adicionar isso, mas não importa onde eu coloquei, ele não altera o cabeçalho retornado:
$this->app->setHeader('Content-Type', 'application/json', true);
Eu sei que o setHeader está funcionando como se eu mudasse o nome, vejo o novo cabeçalho retornado, portanto, suponho que ele será substituído posteriormente na execução.
Então, minha pergunta é: eu vou fazer isso da maneira certa? Minha visão estende o DefaultHtmlView que parece errado, devo criar um DefaultJsonView? Como posso definir o tipo de conteúdo correto ou existe uma abordagem melhor para retornar o JSON?
Qualquer ajuda que possa ser dada sobre a melhor maneira de usar o Joomla Framework para criar uma API será muito apreciada.