Pular para o conteúdo principal

Introdução ao desenvolvimento de Componentes para Joomla 1.5

Escrito por Jennifer Payne

"Bom gente, apesar de ainda não programar muito bem, estou aprendendo a programar php direto no Joomla. Em homenagem aos meus alunos Hugo, Sílvio e Rafael e outros que se interessam a começar a desenvolver para Joomla que crio este post.

Para seguir este tutorial, eu assumo que você conheça o Joomla, php e mySQL.

Preparando o nosso componente (básico)

Para desenvolver componentes, é necessário fazer três coisas, uma é preparar as pastas e os arquivos php que receberão a programação, dizer ao Joomla, no seu BD que seu componente existe e por fim, programar
  • Crie um folder na pasta components chamado com_seucomponente.
  • Crie em administrator/components uma pasta com o mesmo nome.
Um componente tem área administrativa e comportamentos no front-end, então, preste atenção na hora de criar arquivos para não confundir aonde os mesmos devem ser colocados. O nome do seu componente não deve conter espaços. O Joomla quando for executar seu componente, ele vai buscar um arquivo php com o mesmo nome da pasta (tirando o com_) que irá se comportar como o index do seu componente
  • Crie um arquivo chamado seucomponente.php em components/com_seucomponente e dentro cole a seguinte linha de código
<?php
defined( '_JEXEC' ) or die( 'Restricted access' ); //Este código diz que esse componente só //poderá ser executado pelo Joomla e é a primeira preocupação com segurança que se tem. echo '<div class="componentheading">Meu Primeiro Componente</div>';
?>

Dica: Ao invés deste echo simples você poderia utilizar <?php echo JText::_( ‘Meu Primeiro Componente’); ?> esta tag JText diz que é um texto do Joomla, onde, se houver algum componente tradutor para outra língua, este texto será automaticamente traduzido, e ficaria "My first Component", caso fosse trauzido para inglês.

Se você digitar http://localhost/joomla/index.php?option=com_seucomponent no seu navegador, você já verá seu código em ação. agora na pasta administrator/components/com_seucomponent crie um arquivo chamado admin.seucomponent.php e adicione o seguinte código

<?php
defined( '_JEXEC' ) or die( 'Restricted access' );
echo 'Meu Componente, administrador';
?>

digite no seu navegador http://localhost/joomla/administrator/index.php?option=com_seucomponent


Note que você já pode entrar através da url no seu componente, mas ainda pode ser melhorado. Vamos registrar a existência deste componente no back-end do Joomla, para que possamos criar link para ele nos menus do front-end e para que possamos acessar sua área administrativa no back-end, caso seja criado.

O prefixo das tabelas do Joomla são por padrão _jos, se a sua for diferente, mude nas suas tabelas o seguinte

INSERT INTO jos_components (name, link, admin_menu_link,
admin_menu_alt, 'option', admin_menu_img, params)
VALUES ('Meu Componente', 'option=com_seucomponent',
'option=com_seucomponent', 'Admin do Componente', 'com_seucomponent',
'js/ThemeOffice/component.png', '');


Você pode fazer da forma abaixo caso utilize algo como phpmyadmin


Agora logue na sua área administrativa e em Components veja que seu componente já aparece. Mas não é tudo, você pode criar link para ele na área de menu. =) Você agora está preparado para criar seu componente, como você faria caso não esteja programando para Joomla, basta ir em components/com_seucomponent/seucomponent.php e começar a preparar o que será exibido ao visitante do seu site!

O que eu gosto do Joomla, é que você está livre para abrir conexões externas com outro banco, chamar novos arquivos, integrar com o banco do Joomla, enfim. Uma vez preparado o componente, você pode fazer o que quiser com ele!

Este post foi somente para dar uma noção de como criar coisas para Joomla, ainda há muito a ser feito, como criar o xml, criar a área administrativa e etc. Na medida que eu mesma for aprendendo mais, vou compartilhando o conhecimento com vocês

Leituras recomendadas:

Learning Joomla! 1.5 - Extension Development
Creating Modules, Components, and Plug-Ins with PHP
Joseph LeBlanc <--- Melhor para iniciantes (este tutorial foi baseado nele)
e Professional Joomla!


Dan Rahmel <--- Esse cara é muito, muito bom! Um pouco prolixo demais, então recomendo o Joseph para começar Infelizmente, ambos os livros estão em inglês, mas como digo para meus alunos... "É necessidade do profissional da área de TI ter o conhecimento no mínimo do inglês técnico. Acontece que para um livro ser traduzido, tem que ter demanda de leitores, a maior demanda estão entre os que querem iniciar naquela área, à medida que vão se especializando, as pessoas vão desistindo, parando de procurar, logo a demanda cai e assim, há menos prospectos de venda e então, os ótimos livros (nível intermediário, avançado)em sua maioria não chegam a ser traduzidos, a não ser a tecnologia a ser traduzida seja REALMENTE popular, o que não é o caso do Joomla, ainda". Pessoal, have fun!"
Siga também Jennifer Payne

Comentários

Postagens mais visitadas deste blog

Lista de 170 dos principais e mais notáveis Softwares Livres para Web

Ser gratuito não significa que não sejam poderosos. Muitos desses softwares têm funções superiores às encontradas em seus concorrentes pagos.

Muitos programadores contribuem para a construção de um Software Livre, compartilhando gratuitamente seu trabalho e, pedindo um auxílio às pessoas dispostas a ajudar. É isso que sustenta o movimento do Software Livre.

Também, se dedicam inteiramente à criar design diferenciado desses softwares de código aberto, sob demanda de empresas, pessoas e instituições que agora se tornam seus clientes. Outros, criam módulos e componentes à esses softwares, com funções específicas de determinado tipo de atividade de um empresa ou instituição, cobrando então pelo seu trabalho, que agora depende da aplicação principal que ele ajudou a desenvolver.

Esse idealismo pode criar ótimos programas. O Firefox é um dos melhores exemplos. Mas há muitos programas de código livre além dele. Conheça agora, 170 dos principais e mais notáveis Softwares Livres, construídos …

Conheça o Alfresco - Software Livre para Gestão Documental

Alfresco, é um sistema de Gestão de Documentos físicos/digitais empresarial (em inglês ECM "Enterprise Content Management") multi plataforma (Windows e Unix/Linux) de Código Aberto, desenvolvido em Java.
Muitas empresas utilizam para gestão de seus documentos, gestão de conteúdo Web e de colaboração (e-groupware). O Alfresco não é a única plataforma de ECM open source, mas para a gestão de documentos, colaboração e repositório documental, é um dois mais utilizados no mercado atualmente, implementando alta usabilidade e um modelo open source a 100%.

Atualização do ICA-AtoM - versão 1.2 para 1.3

Vídeo gravado no celular. Apresenta o procedimento realizado ao atualizar a versão 1.2 para 1.3 do software ICA-AtoM. (localhost) Ubuntu + MySql Administrator


Planejamento deve levar em conta a Gestão Documental

Escrito por Dgard Pinheiro (*)

Se o planejamento é a ciência de colocar no papel – hoje, na verdade, em sistemas computacionais – e de gerenciar todas as etapas do negócio, incluindo seus objetivos e os meios para que eles sejam atingidos, então, as empresas devem levar em conta a Gestão Documental como parte vital para o sucesso de um empreendimento. Isto porque os negócios envolvem o recebimento, envio e manuseio de uma quantidade enorme de documentos de várias origens, desde o tradicional papel, até os arquivos digitais – tais como as notas fiscais eletrônicas, fax, e-mail, documentos pessoais e formulários (estes, muito utilizados na coleta de informações em várias áreas: cadastros, escolas, pesquisas de mercado e de opinião etc).
Pode parecer que o planejamento envolve apenas a estratégia de negócios, a definição do plano de ação, a definição de produtos e serviços, preços, distribuição, marketing e divulgação. No entanto, ele vai além e deve incluir os processos de como a companhi…

Conheça o NUXEO - Software Livre para Gestão Documental

Atualizado em 16/09/2013.


          O Nuxeo é uma poderosa ferramenta de ECM (Enterprise Content Management - gestão de conteúdo empresarial) open source (código aberto), desenvolvido pela empresa francesa de mesmo nome. Nuxeo atualmente é utilizado por centenas de empresas ao redor do mundo e órgãos públicos, de médio e grande porte. No site do software é possível ver a lista de alguns usuários da ferramenta.           Nuxeo tem uma arquitetura ágil e flexível de última geração, utilizando o melhor do Java. Permite gerenciar os documentos de forma cômoda, realizando versões dos documentos, fluxos de trabalho associados aos documentos, publicação remota, busca avançada, integração com Microsoft Office e Open Office, etc.           Existe a versão open source do NUXEO, que é totalmente gratuita, e a versão "Nuxeo Studio". Esta última é um serviço diferenciado, onde há suporte 24hs por eles, manutenção do sistema, serviço de Cloud Computing (nuvem) etc. Neste caso é preciso p…

Botão para abrir formulário no LibreOffice-Base - Macros

Se você está começando a trabalhar com o Libre Office Base e não entende muito de programação, provavelmente já se deparou com a situação de não conseguir abrir um formulário a partir de um botão de pressão criado em outro formulário. Parecerá mais difícil ainda se você estiver acostumado a utilizar os assistentes do Microsoft Access.

No Libre Office Base é preciso criar uma macro para abrir um formulário a partir de um botão criado no modo desenho do formulário. Depois de criada a macro, é necessário chamar a função no evento "Ao aprovar ação" do botão.

Com o Libre Office Base aberto, vá em "Ferramentas >> Macros >> Organizar Macros >> Libre Office Basic". Na janela que aparecer, selecione "Minhas Macros >> Standards >> Module 1". Haverá um botão no menu lateral direito chamado "Editar". Clique para editar este módulo e insira a seguinte macro:

Eletrônico ou digital?

Diferença entre documento eletrônico e documento digital

Segundo a Câmara Técnica de Documentos Eletrônicos (CTDE) do Conselho Nacional de Arquivos (CONARQ):
“Na literatura arquivística internacional, ainda é corrente o uso do termo “documento eletrônico” como sinônimo de “documento digital”. Entretanto, do ponto de vista tecnológico, existe uma diferença entre os termos “eletrônico” e “digital. Um documento eletrônico é acessível e interpretável por meio de um equipamento eletrônico (aparelho de videocassete, filmadora, computador), podendo ser registrado e codificado em forma analógica ou em dígitos binários. Já um documento digital é um documento eletrônico caracterizado pela codificação em dígitos binários e acessado por meio de sistema computacional. Assim, todo documento digital é eletrônico, mas nem todo documento eletrônico é digital. Exemplos: 1) documento eletrônico: filme em VHS, música em fita cassete. 2) documento digital: texto em PDF, planilha de cálculo em Microsoft  Ex…