Avaliação do Usuário

Estrela ativaEstrela ativaEstrela ativaEstrela ativaEstrela inativa
 

NOTA DE PUBLICAÇÃO

Este tutorial é uma tradução, com adaptação livre, do original Developing a Model-View-Controller (MVC) Component for Joomla!1.6 tutorial, de Christophe Demko, publicado no site de documentação do Joomla, o docs.joomla.org.

A tradução e publicação no Mabesi.com foi autorizada pelo próprio autor, com o qual entramos em contato, sendo a única condição imposta a de seguir as regras para documentação eletrônica do Joomla!, cuja licença pode ser encontrada em http://docs.joomla.org/JEDL., e que obriga, principalmente, a inclusão da informação da própria licença de uso e distribuição do documento, além de citar o nome do autor da obra original, o que fazemos com muito prazer.

 

ADICIONANDO UM TIPO DE ITEM DE MENU

No framework do Joomla 1,6, os componentes são executados usando itens de menu. Se você verificar no gerenciador de menu do seu Joomla! 1,6 a instalação de um tipo de item de menu HelloWorld ainda não existe.

Adicionar esta funcionalidade é fácil no Joomla. Basta colocar o arquivo site/views/helloworld/tmpl/default.xml contendo:

<?xml version="1.0" encoding="utf-8"?>
<metadata>
    <layout title="COM_HELLOWORLD_HELLOWORLD_VIEW_DEFAULT_TITLE">
        <message>COM_HELLOWORLD_HELLOWORLD_VIEW_DEFAULT_DESC</message>
    </layout>
</metadata>

Observação: Perceba que este item de menu, obedecendo a estrutura MVC organizada adotada pelo Joomla, chamará o template padrão (default) da visão (view) helloworld.

No momento as  texto do item de menu não será traduzido na interface administrativa. Veremos em um artigo posterior como a tradução é realizada.

Modifique também o arquivo de manifesto helloworld.xml para indicar uma nova versão:

<extension type="component" version="1.6.0" method="upgrade">
<?xml version="1.0" encoding="utf-8"?>
 <extension type="component" version="1.6.0" method="upgrade">
  <name>Hello World!</name>
  <!-- Os seguintes elementos são opcionais e sem restrição de formato -->
  <creationDate>March 2011</creationDate>
  <author>Plinio Mabesi</author>
  <authorEmail> plinio.mabesi (a) mabesi.com</authorEmail>
  <authorUrl> http://www.mabesi.com</authorUrl>
  <!-- Informações de Copyright apenas para exemplo!!! -->
  <copyright>Copyright © 2011 - Plinio Mabesi - All rights reserved</copyright>
  <license>Here you put any informations about license</license>
  <!-- O texto da versão fica registrado na tabela de componentes -->
  <version>0.0.3</version>
  <!-- A descrição é opcional e o padrão é o nome -->
  <description>Descrição do componente Hello World...</description>
  <update> <!-- Este trecho é executado em atualizações; Novo no Joomla! 1.6 -->
    <schemas>
      <schemapath type="mysql">sql/updates/mysql</schemapath>
    </schemas>
  </update>
    <!-- Seção de Cópia de Arquivos Principais do Site -->
    <!-- Perceba o atributo folder: Este atributo descreve a pasta de origem do
            pacote a partir da qual os arquivos são copiados para instalação,
            portanto os arquivos desta seção serão copiados da pasta /site/
            do pacote-->
    <files folder="site">
        <filename>index.html</filename>
        <filename>helloworld.php</filename>
        <filename>controller.php</filename>
        <folder>views</folder>
    </files>
    <administration>
        <!-- Seção Menu de Administração -->
        <menu>Hello World!</menu>
        <!-- Seção de Cópia de Arquivos Principais de Administração -->
        <!-- Perceba o atributo folder: Este atributo descreve a pasta de origem
            do pacote a partir da qual os arquivos são copiados para instalação,
            portanto os arquivos desta seção serão copiados da pasta /admin/
            do pacote -->
        <files folder="admin">
            <filename>index.html</filename>
            <filename>helloworld.php</filename>
            <!-- Seção de arquivos SQL -->
            <folder>sql</folder>
        </files>
    </administration>
</extension>

EMPACOTANDO O COMPONENTE

Este deve ser o conteúdo atual do seu diretório de código:

  •     helloworld.xml
  •     site/index.html
  •     site/helloworld.php
  •     site/controller.php
  •     site/views/index.html
  •     site/views/helloworld/index.html
  •     site/views/helloworld/view.html.php
  •     site/views/helloworld/tmpl/index.html
  •     site/views/helloworld/tmpl/default.xml
  •     site/views/helloworld/tmpl/default.php
  •     admin/index.html
  •     admin/helloworld.php
  •     admin/sql/index.html
  •     admin/sql/updates/index.html
  •     admin/sql/updates/mysql/index.html
  •     admin/sql/updates/mysql/0.0.1.sql

Crie um arquivo compactado do conteúdo deste diretório e instale -o usando o  gerenciador de extensões do Joomla! 1.6.

Você pode adicionar um item de menu deste componente usando o gerenciador de menus no back-end, já que agora o componente conta com um tipo de menu configurado.

Componente MVC para Joomla 1.6 - Parte 02                                   Componente MVC para Joomla 1.6 - Parte 04

{jcomments on}

Seja social. Compartilhe!