Como posso adicionar um layout a uma série de conteúdos ao usar requestAction no CakePHP?
Pergunta
Eu estou construindo um site CakePHP onde os usuários podem pressionar um botão para "salvar este boletim como HTML". Parecia uma boa idéia usar uma combinação de requestAction
e visualizar uma mídia para servir o conteúdo para eles, para que eles obter o mesmo conteúdo exato como o aplicativo ao vivo. A única desvantagem é que requestAction
usa um layout vazio, para que não haja cabeçalhos HTML ou rodapés.
Existe uma maneira fácil, dada uma string que contém um corpo de HTML, para construir uma nova string com o conteúdo de página inteira com base em um determinado layout?
Solução
Há um recurso não documentado que se a matriz options
tem 0
como o valor para a chave bare
, em seguida, os resultados retornados irá incluir o layout:
$newsletter_html = $this->requestAction(
array(
'controller' => 'Newsletters',
'action' => 'view'
),
array(
'pass' => array($id),
'return',
'bare' => 0
)
);