Desenvolvimento de Aplicações no Joomla – IV

Danto sequencia aos nossos posts de desenvolvimento de sistemas dentro do Joomla, temos que falar agora da camada view.

A criação de uma view tem algumas regras.

O seu arquivo .php onde a view será escrita deve obrigatoriamente estar no local

Aplication/components/com_calculadora/views/calculadora/view.html.php

Dentro deste arquivo temos a classe view que deve ser nomeada desta forma:

class calculadoraViewcalculadora JView

Portanto, a nome e endereço do arquivo se define como algo mais ou menos assim:

Dentro da pasta views que devemos criar no mesmo nível de calculadoraController.php

views/[Nome da Nossa View em Letras Minúsculas]/view.html.php

E o nome da nossa classe dentro deste arquivo se dá por

class [Nome da Classe Controle sem 'Controler']View[Nome da View]

Em geral colocamos como nome da view o mesmo nome do controle, por isto calculadoraViewcalculadora.

Apenas aproveitando o gancho da view, nossos templates de view se localizarão em

Aplication/components/com_calculadora/views/calculadora/tmpl/calculadora.php

O endereço deve ser este, dentro da pasta tmpl nas pastas de view, porém o nome do template você pode se sentir à vontada para dar desde que seja minúsculo.

Só para complicar um pouco, mas nem tanto, existe a possibilidade da view e do layout não estarem definidos na URL como dito em posts anteriores. Nestes casos o Joomla carregará utilizando na maioria dos casos as regras que eu defini para vocês (não por coincidência).

Vejam:

Quanto a URL está com View e Layout em branco (http://aplicacao/index.php?option=com_calculadora) os mesmos serão definidos como:

Arquivo de View:

Aplication/components/com_calculadora/views/calculadora/view.html.php

O trexo em negrito ele retira de com_calculadora sem com_

Classe dentro do Arquivo de View:

calculadoraViewcalculadora

Este vem do nome da classe controller sem controller antes e depois da palavra chave View.

O Layout utilizado será localizado dentro de tmpl como eu disse acima, porém se chamará default.php

Esta é a única diferença entre a sintaxe que eu defini acima e a que o Joomla define quando tudo está em branco.

É uma boa prática estruturar seu componente da mesma forma do Joomla, para evitar problemas de carregamento caso os parametros não sejam fornecidos.

Agora, caso você defina tudo na URL, o Joomla carregará do modo que você especifícou, veja:

Para

http://aplicacao/index.php?option=com_calculadora&view=calculadora&layout=calculadora

Você carregará exatamente o primeiro exemplo de view que dei neste post.

Não sei se me fiz entender ou se confundi mais ainda.

A estrutura destas pastas (view e tmpl) que eu disse ser obrigatória pode ser alterada no construtor do Controle (JControll), porém estas são as pastas padrão do mundo todo e não é recomendado ir contra todo o universo.

Pelo menos eu acho que não.

Agora uma pausa nas views, até aqui eu apenas falei da view para que você pudesse entender o modelo que utiliza algumas características da view.

Porém eu não mostrei código nenhum para a view e ainda não mostrarei.

Vamos ao Modelo cuja funcionalidade eu já disse em posts anteriores.

A primeira coisa a se dizer é que o modelo se localiza na pasta models, ao lado da pasta views.

O nome do nosso arquivo de modelo deve ser o mesmo nome da nossa view, no nosso caso calculadora.php dentro de models.

Lembre que o nome da nossa view pode ser especifícado no parametro view e portando o nome do nosso modelo pode vir de lá.

O nome da nossa classe modelo, será:

class calculadoraModelcalculadora JModel

Isto é:

[Nome da Classe Controle sem 'Controler']Model[Nome do Modelo]

E como foi dito o nome do modelo vem da view.

Então para explicar um pouco mais do método display do Controle que eu mencionei lá no terceiro artigo, podemos dizer que o método display carrega a View e o Modelo consequentemente.

Ele também chama o método display da view, entendeu?

O display do controle chama o display da View (Ainda não o escrevemos).

Continuarei em um outro post mais tarde pois este está muito grande.

Tags: , , , , ,

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Sair / Alterar )

Imagem do Twitter

You are commenting using your Twitter account. Sair / Alterar )

Foto do Facebook

You are commenting using your Facebook account. Sair / Alterar )

Connecting to %s


Seguir

Obtenha todo post novo entregue na sua caixa de entrada.