PROGRAMANDO CON API
      JOOMLA!
PROGRAMACIÓN DE
  COMPONENTES
ELEMENTOS DE
             PROGRAMACIÓN


1.Programación orientada a
  Objetos

2.Model / View / Controller
  (MVC)
¿CÓMO INICIAR?

• http://api.joomla.org/

• http://www.nosolocodigo.com/tutorial-componente-para-
 joomla-15-iii

• http://www.comunidadjoomla.org/

• http://www.notwebdesign.com/joomla-
 component-creator/
CLASES PRINCIPALES
•   JController                      •   JTable

    •   Manipula el Controller del       •   Manipulación automatizada
        componente                           de tablas

•   JView                            •   JFactory

    •   Manipula la Vista del            •   Creación de instancias base
        componente                           del Framework de Joomla!

•   JDatabase                        •   JHTML

    •   Accede a la base de datos        •   Helper para creación de
        (queries)                            objetos HTML
DOBLE VISTA DEL
                  COMPONENTE
• Vista   frontend

 • Utilización   por parte de los usuarios del sitio

 • components/<com_componente>

• Vista   backend

 • Mantenimientos     para el administrador o gestores de
   contenido

 • administrator/components/<com_componente>
NUESTRO EJEMPLO:
REGISTRO A EVENTOS
MODELO DE DATOS
•   jos_eventos            •   jos_eventos_participantes
     • id                       • id
     • nombre                   • (evento_id)
     • descripcion_breve        • nombre
     • descripcion              • correo
     • fecha                    • twitter
     • hora_inicio              • telefono
     • hora_fin                  • como_se_entero
     • categoria                • observaciones
     • disponibilidad           • pagado
     • lugar                    • anulado
     • costo
PASO 1: CREACIÓN DE
  MANTENIMIENTOS
    (BACKEND)
ARCHIVOS PARA EL BACKEND
• admin.<componente>.php
  • Manipula el flujo principal del componente
• controller.php o controllers/<controlador>.php
  • Controlador del componente
• models/<modelo>.php
  • Acceso a la base de datos para un modelo
• tables/<tabla>.php
  • Manipulación de una tabla de la base de datos
• views/<vista>/view.html.php
  • Manejo de una vista
• views/<vista>/<layout>.php
  • Manejo del layout (presentación) de una vista
PASO 2: CREACIÓN DEL
COMPONENTE FRONDEND
ARCHIVOS PARA EL
              FRONTEND
• controller.php
  • Controlador  del componente
• models/<modelo>.php
  • Acceso a la base de datos para un modelo
• views/<vista>/view.html.php
  • Manejo de una vista
• views/<vista>/<layout>.php
  • Manejo del layout (presentación) de una vista

Api joomla!.key

  • 1.
  • 2.
    PROGRAMACIÓN DE COMPONENTES
  • 3.
    ELEMENTOS DE PROGRAMACIÓN 1.Programación orientada a Objetos 2.Model / View / Controller (MVC)
  • 4.
    ¿CÓMO INICIAR? • http://api.joomla.org/ •http://www.nosolocodigo.com/tutorial-componente-para- joomla-15-iii • http://www.comunidadjoomla.org/ • http://www.notwebdesign.com/joomla- component-creator/
  • 5.
    CLASES PRINCIPALES • JController • JTable • Manipula el Controller del • Manipulación automatizada componente de tablas • JView • JFactory • Manipula la Vista del • Creación de instancias base componente del Framework de Joomla! • JDatabase • JHTML • Accede a la base de datos • Helper para creación de (queries) objetos HTML
  • 6.
    DOBLE VISTA DEL COMPONENTE • Vista frontend • Utilización por parte de los usuarios del sitio • components/<com_componente> • Vista backend • Mantenimientos para el administrador o gestores de contenido • administrator/components/<com_componente>
  • 7.
  • 8.
    MODELO DE DATOS • jos_eventos • jos_eventos_participantes • id • id • nombre • (evento_id) • descripcion_breve • nombre • descripcion • correo • fecha • twitter • hora_inicio • telefono • hora_fin • como_se_entero • categoria • observaciones • disponibilidad • pagado • lugar • anulado • costo
  • 9.
    PASO 1: CREACIÓNDE MANTENIMIENTOS (BACKEND)
  • 10.
    ARCHIVOS PARA ELBACKEND • admin.<componente>.php • Manipula el flujo principal del componente • controller.php o controllers/<controlador>.php • Controlador del componente • models/<modelo>.php • Acceso a la base de datos para un modelo • tables/<tabla>.php • Manipulación de una tabla de la base de datos • views/<vista>/view.html.php • Manejo de una vista • views/<vista>/<layout>.php • Manejo del layout (presentación) de una vista
  • 11.
    PASO 2: CREACIÓNDEL COMPONENTE FRONDEND
  • 12.
    ARCHIVOS PARA EL FRONTEND • controller.php • Controlador del componente • models/<modelo>.php • Acceso a la base de datos para un modelo • views/<vista>/view.html.php • Manejo de una vista • views/<vista>/<layout>.php • Manejo del layout (presentación) de una vista

Notas del editor

  • #2 \n
  • #3 \n
  • #4 \n
  • #5 \n
  • #6 \n
  • #7 \n
  • #8 Introducir las posiciones menu, right y footer, as&amp;#xED; como el contenido (component)\nResultado final como &amp;#x201C;03 - Posiciones&amp;#x201D; (1.5 y 1.6 respectivamente)\nTips necesarios: hablar de la configuraci&amp;#xF3;n de los art&amp;#xED;culos\n
  • #9 \n
  • #10 Expectativa del cliente escogido: Cultura Android Guatemala\nEn este punto, mostrar la el template base (template.html) de la carpeta 01 - Maquetaci&amp;#xF3;n Base\nMostrar las posiciones de m&amp;#xF3;dulos y componentes que se configurar&amp;#xE1;n\n
  • #11 \n
  • #12 No es necesario mostrar nada\n
  • #13 \n