J3.x:Developing an MVC Component/Desenvolvendo um componente básico
From Joomla! Documentation
< J3.x:Developing an MVC Component
Artigos nessa Série
Adicionando uma parte tipo de menu para o site
Adicionando uma parte model para o site
Adicionando uma requisição de variável no tipo de menu
Usando o Banco de Dados
Backend básico
Adicionando o gerenciamento de linguagem
Adicionando ações de backend
Adicionando decorations para o backend
Adicionando verificações
Adicionando categorias
Adicionando configuração
Adicionando um script de instalação/desinstalação/atualização
Adding a Frontend Form
Usando o recurso de filtro de idioma
- Adding a Modal
- Adding Associations
- Adding Checkout
- Adding Ordering
- Adding Levels
- Adding Versioning
- Adding Tags
- Adding Access
- Adding a Batch Process
- Adding Cache
- Adding a Feed
Adicionando um servidor de atualização
Esta é uma série de vários artigos de tutoriais sobre como desenvolver um Componente Model-View-Controller para o Joomla! Version.
Comece com a Introdução, e navegue pelos artigos desta série usando o botão de navegação abaixo ou a caixa à direita ("Artigos desta série").
Notas
Este tutorial é parte do tutorial Desenvolvendo um Componente MVC para Joomla! 3.x. Recomendamos que você leias as partes anteriores desse tutorial antes de ler essa.
Se você já usou Joomla! Antes de ler este tutorial, você notou que as extensões são instaladas usando um arquivo compactado contendo todas as coisas que são necessárias para instalá-las e desinstalá-las.
Você pode seguir os passos abaixo para criar o Hello World! , Ou você pode baixar diretamente o arquivo archive
Aqui estão alguns slides com base nesses documentos para explicar do básico ao avançado os componentes Joomla!.
Joomla! Basic Component Help
Joomla! Advance Component Help
There are also a number of videos which accompany steps in the tutorial, beginning with
Step 1, Developing a Basic Component and you can access the slides which are used in the series of video presentations at Slides.
Important! Around version 3.8 the Joomla developers started changing the naming of Joomla classes and where they were stored in the directory structure. Many of the tutorial steps and videos refer to the old naming convention. To find the equivalent new class and where it's stored, look in your libraries/classmap.php file.
Como adicionar um componente ao Joomla!
Neste artigo vamos cobrir como criar e instalar um Componente Básico do Joomla!. Para este exemplo vamos trabalhar com o Componenente Hello World!.
Para começar, você deve primeiro usar seu gerenciador de arquivos preferido para criar uma pasta para o componente Hello World!. Este diretório pode ser em qualquer lugar do seu sistema de arquivos, contanto que seja fora do diretório de instalação do seu Joomla!. Para este exemplo vamos nomear o diretório com_helloworld, mas esse diretório pode ter qualquer nome.
Depois, precisamos criar alguns arquivos dentro deste diretório. Usando seu gerenciador de arquivos preferido, crie os seguintes arquivos; Enquanto você cria os arquivos, adicione o código-fonte para cada arquivo que está disponível em File Details.
1 | helloworld.xml | Este é um arquivo XML (manifesto) que diz ao Joomla! Como instalar o nosso componente. |
2 | site/helloworld.php | Este é o ponto de entrada do site para o componente Hello World! |
3 | site/index.html | Impede que o servidor web liste o conteúdo do diretório |
4 | admin/index.html | Impede que o servidor web liste o conteúdo do diretório |
5 | admin/helloworld.php | Este é o ponto de entrada da área de administração do componente Hello World! |
6 | admin/sql/index.html | Impede que o servidor web liste o conteúdo do diretório |
7 | admin/sql/updates/index.html | Impede que o servidor web liste o conteúdo do diretório |
8 | admin/sql/updates/mysql/index.html | Impede que o servidor web liste o conteúdo do diretório |
9 | admin/sql/updates/mysql/0.0.1.sql | Arquivo que permite inicializar a versão de esquema de banco de dados do componente com_helloworld. |
Instalando o Componente Hello World!
Usando seu gerenciador de arquivos preferido, crie um arquivo .zip desse diretório. Para este exemplo vamos nomear o arquivo com_helloworld.zip , novamente este arquivo poderia ter sido nomeado de qualquer forma.
Agora precisamos instalar o componente Hello World!. Há duas maneiras de fazer isso, ambos são abordados em Instalando uma extensão. Aqui vamos cobrir o método usando o Gerenciador de Extensão do Joomla!.
- Usando o seu navegador preferido, navegue até o painel Administrador do seu Joomla! local. O endereço seria <yoursite>/joomla/administrator/index.php. Para este exemplo, navegaremos para localhost/joomla/administrator/index.php.
- Clique em Extensões → Gerenciar → Instalar → Enviar Pacote de Arquivos → Escolha Arquivo
- Navegar e Selecionar o Arquivo.zip
- Clique em Enviar e instalar
Nota - Você verá uma mensagem informando se a instalação foi bem-sucedida ou falhou.
Você pode testar esta função básica do componente entrando na página do componente Hello World! da área do site e da área do administrador do seu Joomla!.
- Usando seu navegador preferido, navegue até a área do componente Hello World! do site. O endereço pode ser algo como <yoursite>/joomla/index.php?option=com_helloworld. Para esse exemplo nos visitamos o endereço localhost/joomla/index.php?option=com_helloworld.
- Usando seu navegador preferido, navegue até a área administrativa do componente Hello World!. O endereço pode ser algo como <yoursite>/joomla/administrator/index.php?option=com_helloworld. Para esse exemplo nos visitamos o endereço localhost/joomla/administrator/index.php?option=com_helloworld.
Você também irá notar que o componente Hello World! Está visível no área administrativa do Joomla no menu Componentes .
Detalhes de Arquivos
admin/sql/updates/mysql/0.0.1.sql É um arquivo vazio que permite inicializar a versão de esquema de banco de dados do componente com_helloworld.
helloworld.xml
<?xml version="1.0" encoding="utf-8"?>
<extension type="component" version="3.0" method="upgrade">
<name>Hello World!</name>
<!-- The following elements are optional and free of formatting constraints -->
<creationDate>January 2018</creationDate>
<author>John Doe</author>
<authorEmail>john.doe@example.org</authorEmail>
<authorUrl>http://www.example.org</authorUrl>
<copyright>Copyright Info</copyright>
<license>License Info</license>
<!-- The version string is recorded in the components table -->
<version>0.0.1</version>
<!-- The description is optional and defaults to the name -->
<description>Description of the Hello World component ...</description>
<update> <!-- Runs on update; New since J2.5 -->
<schemas>
<schemapath type="mysql">sql/updates/mysql</schemapath>
</schemas>
</update>
<!-- Site Main File Copy Section -->
<!-- Note the folder attribute: This attribute describes the folder
to copy FROM in the package to install therefore files copied
in this section are copied from /site/ in the package -->
<files folder="site">
<filename>index.html</filename>
<filename>helloworld.php</filename>
</files>
<administration>
<!-- Administration Menu Section -->
<menu link='index.php?option=com_helloworld'>Hello World!</menu>
<!-- Administration Main File Copy Section -->
<!-- Note the folder attribute: This attribute describes the folder
to copy FROM in the package to install therefore files copied
in this section are copied from /admin/ in the package -->
<files folder="admin">
<!-- Admin Main File Copy Section -->
<filename>index.html</filename>
<filename>helloworld.php</filename>
<!-- SQL files section -->
<folder>sql</folder>
</files>
</administration>
</extension>
site/helloworld.php
Hello World
admin/helloworld.php
Hello World administration
index.html
Comum a todas as pastas
<html><body bgcolor="#FFFFFF"></body></html>
Conteúdo do Componente
Neste ponto do tutorial, o componente deve conter os seguintes arquivos:
1 | helloworld.xml | Este é um arquivo XML (manifesto) que diz ao Joomla! Como instalar o nosso componente. |
2 | site/helloworld.php | Este é o ponto de entrada do site para o componente Hello World! |
3 | site/index.html | Impede que o servidor web liste o conteúdo do diretório |
4 | admin/index.html | Impede que o servidor web liste o conteúdo do diretório |
5 | admin/helloworld.php | Este é o ponto de entrada da área de administração do componente Hello World! |
6 | admin/sql/index.html | Impede que o servidor web liste o conteúdo do diretório |
7 | admin/sql/updates/index.html | Impede que o servidor web liste o conteúdo do diretório |
8 | admin/sql/updates/mysql/index.html | Impede que o servidor web liste o conteúdo do diretório |
9 | admin/sql/updates/mysql/0.0.1.sql | Arquivo que permite inicializar a versão de esquema de banco de dados do componente com_helloworld. |