Dando continuidade à série de artigos abordando as alterações no framework do Joomla! 1.5, estamos publicando agora um artigo que trata sobre a nova estrutura de arquivos e diretórios.
Como são organizados os arquivos no Joomla! 1.5
(arquivo original: How Joomla! 1.5 Files are Organised, http://www.theartofjoomla.com)
Joomla! 1.5 tem muitas semelhanças com Joomla! 1.0 em termos de estrutura de arquivo e, também, muitas diferenças. Neste artigo abordaremos algumas das maiores diferenças de maneira bem simples.
Quando você descompacta o Joomla! os diretórios iniciais se apresentam da seguinte maneira:
/administrator /cache /components /images /includes /installation /language /libraries /logs /media /modules /plugins /templates /tmp /xmlrpc
Há algumas coisas a observar aqui:
- O diretório mambots foi renomeado para plugins (esta é uma das maiores terminologias alteradas no Joomla! 1.5). O formato dos sub-diretórios continuam o mesmo, onde os plugins são agrupados em áreas tais como conteúdo, sistema, etc.
- Existe um novo diretório chamado libraries. Neste estão muitos dos API e bibliotecas de terceiros que estavam antes sob a pasta /includes/.
- Existe um novo diretório /media/ que contém os arquivos relacionados às interfaces dos usuários, tais como algumas bibliotecas em javascript, arquivos flash, etc.
- O diretório /help/ foi movido para a área do administrador.
- O diretório legado /editor/ directory foi removido.
- Existe um novo diretório /xmlrpc/ para o suporte de serviços web via protocolo XML-RPC.
Um dos mais interessantes diretórios para se estudar é o /library/. Você encontrará muitos nomes familiares de scripts de terceiros, tais como /phpgacl/, /phpmailer/, /geshi/ e outros. Também encontrará alguns novos como /simplepie/ e um diretório interessante chamado /joomla/.
Virtualmente todo o API central do Joomla! API foi movido de um conjunto de arquivos (nomeando /includes/joomla.php e outros) em /libraries/joomla/. Este é agora a "espinha dorsal" do Joomla! Quase todas as classes residem em seus próprios arquivos em uma hierarquia lógica. Por exemplo, o administrador do banco de dados mysql pode ser encontrado em /libraries/joomla/database/database/mysql.php. Navegando por outros diretórios você encontrará muitos nomes não familiares. Não se preocupe, vamos abordar o que está acontecendo aqui em futuros artigos.
Há duas outras mudanças que queremos abordar, que terão grande impacto para desenvolvedores e designers.
A primeira grande mudança foi a re-estruturação dos componentes de frontend (frontend = área de visualização do site > área normalmente acessada) em um formato MVC ("Model-View Controller" > arquitetura de controle de visualização por modelo). A estrutura de diretório é geralmente algo como o apresentado abaixo:
/com_content /helpers /models /views /article /tmpl
Existem poucos arquivos nesses diretórios, mas falaremos sobre eles em outra oportunidade.O mais importante nesse momento é entender o relacionamento entre os diretórios do sistema de menu do Joomla! e também o do sistema de templates. Deve existir também, um diretório /controllers/ dependendo da complexidade do componente (e a preferência pessoal do desenvolvedor - veja a nota para mais observações sobre a terminologia do MVC).
Cada diretório sob a pasta /views/ é geralmente habilitada para ser chamada a partir de uma URL. Por exemplo index.php?option=com_content&view=article&id=1
Assumimos que aquele componente sabe o que fazer com o id, mas esta url procurará na pasta /views/article/ por informações sobre como apresentar a página. Quando você acrescenta um novo item de menu a partir da área de administração, você verá um lista de componentes e ao selecionar um, verá todas as visualizações listadas. Estas são automaticamente retiradas do gerenciador de menu, o que foi um grande melhoramento do Joomla! 1.0 onde essas opções eram difíceis de serem alteradas. Em muitos casos você verá muitas outras opções de seleção e essas são chamadas de leiautes. Esses leiautes residem no diretório /views/view_name/tmpl/ e estes são (geralmente) o único lugar onde códigos HTML são apresentados.
E isto nos traz ao nosso segundo ponto. Joomla! 1.0 tem uma maneira de mudar a saída de um componente - mas para ser honesto ela não é muito bem conhecida e nunca foi uma solução que funcionasse bem ou subsistisse a atualizações dos arquivos centrais. Joomla! 1.5 mudou isto. Como todo componente de frontend tem o seu código HTML em arquivos de leiautes, Joomla! deu-lhe a possibilidade de alterar esses arquivos individualmente no template ativo.
Para ver um exemplo disso, dê uma olhada no template Beez. Você verá um novo diretório chamado /html/.
/html /com_content /article /mod_login
Ambos, componentes e módulos, podem ter leiautes sobrescritos.
No caso de componentes, você deve fazer uma árvore de diretório começando como o nome do componente (o mesmo que é encontrado no diretório /components/), o nome da pasta de visualização, e, finalmente, você inclui um arquivo php com o mesmo nome do arquivo de leiaute que você deseja mudar.
No caso dos Módulos é o mesmo, com exceção de que eles não possuem visualizações, apenas o leiaute para mudar (alguns desenvolvedores de terceiros disponibilizam diferentes leiautes para os módulos, o que é um ótimo recurso).
Tudo o que você precisa se lembar é combinar o componente com o nome do módulo, combinar o nome da visualização para os componentes, então combinar o nome do arquivo do leiaute. è realmente muito simples. Apresentaremos maiores detalhes em outra oportunidade sobre sinalizações de visualizações e leiautes.
| < Anterior | Próximo > |
|---|



Estou com um serio problema, estou tentando criar um site para mim e gostaria de adicionar um caminho no menu onde eu posso colocar arquivos para downloads, mas não consigo, procurei na net algo parecido, mas nada que chegasse ao meu problema.
Solicito ajuda ugente. meu e-mail é Este endereço de e-mail está protegido contra SpamBots. Você precisa ter o JavaScript habilitado para vê-lo.
Uso o joomla 1.5.
Este endereço de e-mail está protegido contra SpamBots. Você precisa ter o JavaScript habilitado para vê-lo. .