J3.x

J3.x:Desenvolvendo um Componente MVC/Introdução

From Joomla! Documentation

This page is a translated version of the page J3.x:Developing an MVC Component/Introduction and the translation is 100% complete.
Joomla! 
3.x
Tutorial
Desenvolvendo um Componente MVC

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

  1. Adicionando ACL (Lista de Controle de Acesso)

Adicionando um script de instalação/desinstalação/atualização

Adding a Frontend Form

  1. Adding an Image
  2. Adding a Map
  3. Adding AJAX
  4. Adding an Alias

Usando o recurso de filtro de idioma

  1. Adding a Modal
  2. Adding Associations
  3. Adding Checkout
  4. Adding Ordering
  5. Adding Levels
  6. Adding Versioning
  7. Adding Tags
  8. Adding Access
  9. Adding a Batch Process
  10. Adding Cache
  11. Adding a Feed

Adicionando um servidor de atualização

  1. Adding Custom Fields
  2. Upgrading to Joomla4



Esta é uma série de vários artigos de tutoriais sobre como desenvolver um Componente Model-View-Controller para o Joomla! VersionJoomla 3.x.

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

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

Colaboradores