J3.x:Desenvolvendo um Componente MVC/Introdução
From Joomla! Documentation
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
- Se você é nono no Joomla!, por favor leia Princípios Básicos do Funcionamento de Componentes.
- Este tutorial foi adaptado de Christophe Demko: Desenvolvendo um Componente Model-View-Controller/2.5
- AVISO: este tutorial não repetirá os comentários de Demko. Para vê-los, por favor, dê uma olhada no tutorial original do Joomla! 2.5Desenvolvendo um componente MVC para Joomla! 2.5 - Introdução
Requisitos
Você precisa do Joomla 3.0 (com PHP, MySQL e Apache/Microsoft IIS) ou versões superiores para este tutorial. Eu reuni um monte de informações e, em seguida, eu comecei a migrar o componente do novo Joomla! 2,5 a 3,0. Abaixo estão algumas informações importantes usadas para a migração. Por favor, veja também todas as informações sobre migração Atualizando Versões. Use "display_errors On" para ajudá-lo com o "debug" de erros.
Migrando do Joomla! 2.5 para Joomla! 3.0
Lembre-se que é preciso adicionar o "Legacy" em qualquer lugar onde você esteja estendendo JModel, JView ou JController diretamente. Se for indiretamente (como por meio de uma JModelList) você não precisa, pois esse requisito já foi atendido. Além disso e o fato de que, como anunciado há muito tempo, o código obsoleto foi removido (eu acho que JParameter é o que causa maior impacto), extensões só precisam de pequenas alterações ... Embora você vai querer dar uma olhada nas mudanças nas saídas que o Kyle está trabalhando. Claro, se você estiver construindo aplicativos standalone, o novo MVC e JApplicationWeb/JApplicationCLI são completamente funcionais e a melhor coisa sobre isso é que os novos pacotes estsão já lá em seu servidor junto ao CMS. (Elin na lista de desenvolvimento)
Exemplos: DS Uma vez removidas as constante DS do PHP 3.0, nos precisamos substituir os usos da constante no com_media. A alteração mais discreta é simplesmente substituí-la pela constante DIRECTORY_SEPARATOR do PHP, já que o DS é um alias para isso. No entanto, a maneira recomendada de fazê-lo é simplesmente usar a barra, ou seja, 'components/com_example/models/example.php' em vez de 'components'.DS.'com_example'.DS.'models'.DS.'exemplo. Php '. Este maneira é segura para o Windows.
(joomlacode)
if(!defined('DS')){
define('DS',DIRECTORY_SEPARATOR);
}
//$controller = JController::getInstance('HelloWorld');
$controller = JControllerLegacy::getInstance('HelloWorld');
//class HelloWorldViewHelloWorlds extends JView
class HelloWorldViewHelloWorlds extends JViewLegacy
class HelloWorldController extends JControllerLegacy
class HelloWorldModelHelloWorld extends JModelItemLegacy
class HelloWorldModelUpdHelloWorld extends JModelFormLegacy
JRegistry::getValue() now is JRegistry::get()
//Convert sample to JRegistry with LoadJSON - Sample from Joomla! 3.0 sourcecode
// $params = new JRegistry;
// $params->loadJSON($this->item->params);
// $this->item->params = $params;
$params = new JRegistry;
$params->loadString($item->params);
$item->params = $params;
Aqui está o código fonte: http://joomlacode.org/gf/project/hellojoomla3/frs/
Novo MVC no Joomla! 3.0
"A versão 12.1 da plataforma introduziu um novo formato para o paradigma model-view-controller.Por princípio, as classes JModel, JView e JController são agora interfaces e as classes base abstratas agora são JModelBase, JViewBase e JControllerBase, respectivamente.Além disso, Todas as classes foram simplificadas, removendo um monte de acoplamento com o Joomla! CMS, que era desnecessário para aplicações autônomas da plataforma Joomla!". ... Joomla! Platform Manual MVC