Para renderizar itens de conteúdo, são utilizados Layouts de Conteúdo. Eles recebem os dados dos itens de conteúdo, os renderizam em HTML e os inserem na página.
Por padrão, os layouts de conteúdo utilizam o modelo Mustache para renderizar itens de conteúdo, embora possam ser implementados em qualquer tecnologia JavaScript. Para o modelo Mustache a ser renderizado, espera-se que os dados estejam em um determinado formato. O arquivo render.js
de layout de conteúdo precisa assegurar-se de que o modelo o transmita ao modelo correspondente a esse formato.
Os layouts de conteúdo são renderizados em diversos casos de uso:
Quando utilizados na Interface do Usuário de Gerenciamento de Ativos do Oracle Content Management, os dados podem estar em um estado "editado" para que o usuário visualize as alterações antes de salvá-las.
Quando utilizados em um site do Oracle Content Management de uma lista ou item de conteúdo, os dados são ampliados com informações adicionais sobre o site no qual eles estão em execução.
Quando utilizados por meio da chamada contentClient.renderLayout()
do Content SDK, em que o usuário do SDK informa quaisquer dados que queiram diretamente no layout de conteúdo.
Para fins de desempenho, há um equilíbrio geral entre a criação de uma única consulta capaz de retornar todos os dados exigidos ou diversas consultas para que o esboço seja renderizado o mais rápido possível, com uma consulta inicial rápida, e as áreas sejam preenchidas depois pelas consultas subsequentes. O modelo escolhido por você depende dos dados e dos casos de uso.
Além disso, os dados transmitidos a um layout de conteúdo podem variar de formato, por causa do modo de recuperação dos dados. Por exemplo, se você usar um REST de conteúdo com um parâmetro de expansão, as referências de campo a outros itens de conteúdo, individualmente ou em grupo, também poderão ser retornadas. Se os itens de conteúdo referenciado não estiverem incluídos, você precisará fazer chamadas REST adicionais.
Para tratar todos os casos, o desenvolvedor de layout de conteúdo deve tentar ser flexível sobre o formato dos dados recebidos. Além disso, quando necessário, o desenvolvedor pode extrair dados adicionais e coagir os dados no formato esperado pelo modelo de renderização.