Desarrollo de un Componente MVC/Introducción
From Joomla! Documentation
< J3.x:Developing an MVC Component
Artículos de esta Serie
Agregar un tipo de menú a la parte del sitio
Agregar un modelo a la parte del sitio
Agregar una variable de petición en el tipo de menú
Utilizando la base de datos
Lado servidor básico
Agregar gestión de idioma
Agregar acciones del lado servidor
Agregar decoraciones del lado servidor
Agregar verificaciones
Agregar categorías
Agregar configuración
Agregar un archivo de secuencia de comandos instalar-desinstalar-actualizar
Agregar un formulario del lado cliente
Usar la facilidad filtro de idioma
- Agregar una Modal
- Agregar Asociaciones
- Agregar Comprobación
- Agregar Ordenamiento
- Agregar Niveles
- Agregar Control de Versiones
- Agregar Etiquetas
- Agregar Accesos
- Agregar procesos por lote
- Agregar Caché
- Agregar un Canal de Noticias
Agregar un servidor de actualización
Esta es una serie multi-artículos de tutoriales sobre cómo desarrollar un Componente Modelo-Vista-Controlador para Joomla! Versión.
Comenzar con la Introducción, y navegar por los artículos de esta serie usando el botón de navegación en la parte inferior o en el cuadro de la derecha (los "Artículos de esta serie").
Notas
- Si eres nuevo en Joomla!, por favor, lee Fundamentos sobre Cómo Funciona un Componente.
- Este tutorial está adaptado del Christophe Demko: Desarrollo de un Componente Modelo-Vista-Controlador/2.5
- ADVERTENCIA: en este tutorial no voy a repetir los comentarios de Demko. Para verlos, por favor, accede al tutorial original para Joomla! 2.5:Desarrollo de un Componente MVC para Joomla! 2.5 - Introducción
Requerimientos
Necesitas Joomla! 3.0 (con PHP, MySQL y Apache/IIS de Microsoft) o mayor para este tutorial. He reunido una gran cantidad de información, y luego empecé a migrar el componente de Joomla! 2.5 al nuevo 3.0. A continuación hay información importante que se utiliza para la migración. Por favor, consulte también toda la información acerca de la migración en Actualizar Versiones. Usar "display_errors On" para ayudar a la depuración de errores.
Migrar De Joomla! 2.5 a Joomla! 3.0:
Recuerde que usted necesita agregar Legacy en cualquier lugar donde usted extiende directamente JModel, JView o JController. Si es indirecta (como a través de JModelList) usted no tiene que hacerlo, ya se realizó. Aparte de eso y el hecho de que, como se anunció hace mucho tiempo, código obsoleto ha sido eliminado (supongo que JParameter es el mayor impacto), las extensiones sólo necesitan pequeños cambios ... Aunque puede que desee ver los cambios en la salidas sobre las que Kyle está trabajando. Por supuesto, si usted está construyendo una okataforma de aplicaciones independiente, el nuevo MVC y JApplicationWeb/JApplicationCLI son completamente la forma en que debe trabajar y la cosa buena acerca de la manera en que hemos hecho esto es que los nuevos paquetes ya están allí, en tu servidor, después de haber llegado con el CMS. (Elin en la lista de desarrollo)
Muestras: DS Ya que hemos quitado la constante DS constante en 3.0, tenemos que sustituir los empleos de la constante en com_media. El cambio más discreto es simplemente sustituir esto con la constante DIRECTORY_SEPARATOR de PHP ya que DS es un alias a esta. Sin embargo, el modo recomendado de hacerlo es simplemente usar la barra inclinada, p. ej. 'components/com_example/models/example.php' en vez de ' components'.DS .'com_example '.DS .'models'.DS .'example.php '. Esta forma brinda mayor seguridad.
(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;
Aquí el código fuente: http://joomlacode.org/gf/project/hellojoomla3/frs/
Nuevo MVC en Joomla! 3.0
"La versión 12.1 de la plataforma, introdujo un nuevo formato para el paradigma modelo-vista-controlador. En principio, las clases JModel, JView y JController ahora son interfaces y las clases abstractas de base ahora son JModelBase, JViewBase y JControllerBase, respectivamente. Además, todas las clases se han simplificado, quitando un montón de acoplamiento con el CMS de Joomla!, que era innecesarias para aplicaciones de plataforma independientes de Joomla!." ... Manual MVC Plataforma Joomla!