= Camada de Visualização = [[WikiInclude(WF/tableofcontents)]] Corresponde à interface do sistema, onde as pessoas irão interagir com formulários para entrada de dados. Podemos também considerar como camada de visualização outras formas de interação, como as interfaces para programas (API) ou webservices, mas não é o caso do módulo workflow por enquanto. == Características == * Essa camada deve saber apenas como apresentar os dados gerados pelo sistema; * Manipulada diretamente apenas pela camada Control, como um de seus atributos; * Não deve fazer restrições de segurança ou validação de dados, que são funções da camada Model; * Apresenta interface para interação (entrada de dados) com o usuário; * Formata e exibe dados vindos da camada Model. == Estrutura == O módulo workflow faz uso do gerenciador de templates Smarty, que é um conhecido projeto do mundo PHP para gerenciar a camada de visualização. Por conseguência, não será necessário criar classes como foi feito nas camadas de Controle e Modelo, mas as interfaces serão contruídas como Templates a serem executados pelo Smarty. Os templates podem ser editados diretamente na pasta templates do modelo de estrutura de diretórios do processo, mas também podem ser editados pela [wiki:WF/Edicaodecodigo interface de edição de código], na aba 'Templates'. É importante dar uma olhada no [http://smarty.php.net/ site do projeto Smarty] para conhecer suas potencialidades. Aqui nesta documentação será tratado somente o essencial. O exemplo abaixo corresponde ao template 'Solicitar.tpl' do processo Music Cd Loans', que é um dos processos de exemplo que acompanham o módulo workflow. O seu objetivo é mostrar uma lista de Cds para o usuário e colocar um botão para solicitar o empréstimo: {{{ {wf_default_template}

Solicitar Empréstimo

CD Desejado:
}}} O exemplo começa com a inserção de um plugin responsável pelo cabeçalho e rodapé da página: {wf_default_template} A seguir prossegue montando uma tabela em que uma das colunas terá um campo de seleção, representado pela tag "