Desarrollando un componente MVC: Añadiendo un tipo de menu al frontend

  1. Desarrollando un componente MVC : Introducción
  2. Desarrollando un componente MVC: Desarrollando un componente básico
  3. Desarrollando un componente MVC: Añadiendo una vista en el frontend
  4. Desarrollando un componente MVC: Añadiendo un tipo de menu al frontend
  5. Desarrollando un componente MVC: Añadiendo un modelo al frontend
  6. Desarrollando un componente MVC : Añadiendo una variable request en el tipo de menu
  7. Desarrollando un componente MVC : Usando la base de datos
  8. Desarrollando un componente MVC : Basic backend
  9. Desarrollando un componente MVC : Añadiendo gestión de idioma
  10. Desarrollando un componente MVC : Añadiendo acciones backend
  11. Desarrollando un componente MVC : Añadiendo adornos al backend
  12. Desarrollando un componente MVC : Añadiendo verificaciones
  13. Desarrollando un componente MVC : Añadiendo categorías
  14. Desarrollando un componente MVC : Añadiendo configuración
  15. Desarrollando un componente MVC : Añadiendo ACL (Access Control Levels)
  16. Desarrollando un componente MVC : Añadiendo un script de instalación-desinstalación-actualización
  17. Desarrollando un componente MVC : Usando la capacidad de filtro
  18. Desarrollando un componente MVC : Añadiendo un servidor de actualización

[extoc]

Abstracción

Generalmente hablando, este artículo describe cómo conseguir un enlace en tu página Joomla que abra una página específica de tu componente. Esto se realiza de manera sencilla añadiendo un fichero xml a la página específica en el directorio view.

Ej: site/views/helloworld/tmpl/

Este directorio contiene la página de vista default.php que queremos abrir.

El archivo default.xml se coloca junto al archivo php con algo de xml. Esto capacita a Joomla a reconocer la vista default.php como un elemento de menú.

Añadiendo un tipo de menú

En el framework de Joomla, los componentes se ejecutan mediante elementos de menú. Si vas al administrador de menú de tu instalación Joomla comprobarás que todavía no existe un tipo de menú HelloWorld. Añadir esta funcionalidad es sencillo en Joomla, simplemente crea el archivo site/views/helloworld/tmpl/default.xml file con el siguiente contenido:

site/views/helloworld/tmpl/default.xml



        
                
                        
        

De momento las cadenas de texto no se traducirán en el interfaz de administración. En un articulo posterior veremos cómo se realizan las traducciones.

También modifica tu fichero helloworld.xml para indicar una nueva versión:

helloworld.xml



	Hello World!
	
	November 2009
	John Doe
	john.doe@example.org
	http://www.example.org
	Copyright Info
	License Info
	
	0.0.3</version>
	<-- The description is optional and defaults to the name -->
	Description of the Hello World component ...

	 
		
			sql/updates/mysql
		
	

	
	
	
		index.html
		helloworld.php
		controller.php
		views
	

	
	
		Hello World!
		
		
		
		
			index.html
			helloworld.php
			
			sql
		
	

Empaquetando el componente

Contenido del directorio:

  • 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

Ahora comprime este directorio o directamente descargalo el archivo e instalalo utilizando la “Administración de extensiones” (Extension Manager) de Joomla. Puedes añadir un elemento de menú mediante el gestor de menús. Para hacerlo, selecciona «Añadir nuevo elemento de menú» del menú Menu (valga la redundancia), después selecciona COM_HELLOWORLD_HELLOWORLD_VIEW_DEFAULT_TITLE para el tipo de menú (posteriormente veremos cómo traducir esta cadena). Una vez seleccionado se puede ver que la información de enlace se rellena automáticamente con la url para la vista (View).

Deja un comentario