J3.x

Developing an MVC Component/Basic backend/es: Difference between revisions

From Joomla! Documentation

Created page with "== Introducción =="
Created page with "== Colaboradores =="
 
(39 intermediate revisions by 2 users not shown)
Line 1: Line 1:
<noinclude><languages /></noinclude>
<noinclude><languages /></noinclude>
{{:J3.1:Developing an MVC Component/es}}
{{:J3.1:Developing an MVC Component/es}}
== Introducción ==
== Introducción ==
This tutorial is part of the [[S:MyLanguage/J3.2:Developing an MVC Component | Developing an MVC Component for Joomla! 3.2]] tutorial. You are encouraged to read the previous parts of the tutorial before reading this.
Este artículo es parte del tutorial [[S:MyLanguage/J3.2:Developing an MVC Component|Desarrollo de un Componente MVC para Joomla! 3.2]]. Te invitamos a leer las partes anteriores del tutorial antes de leer esto.
 
Hay 2 videos (en inglés) asociados con este paso del tutorial, que cubren [https://www.youtube.com/watch?v=lUEqly3EIPY Estructura y paginación MVC] y [https://www.youtube.com/watch?v=Qnd1z5umj0Y elementos HTML y código Javascript].
 
{{#widget:YouTube|id=lUEqly3EIPY}}
 
{{#widget:YouTube|id=Qnd1z5umj0Y}}


== Basic backend ==
== Lado servidor básico ==
Designing the backend interface leads us to create at least a Model-View-Controller triptych. We have to modify the administrator entry point of our component, the <tt>admin/helloworld.php</tt> file.
El diseño de la interfaz del lado servidor nos lleva a crear al menos un tríptico Modelo-Vista-Controlador. Tenemos que modificar el punto de entrada del administrador de de nuestro componente, el archivo <tt>admin/helloworld.php</tt>.


<span id="admin/helloworld.php">
<span id="admin/helloworld.php">
Line 15: Line 22:
  * @subpackage  com_helloworld
  * @subpackage  com_helloworld
  *
  *
  * @copyright  Copyright (C) 2005 - 2015 Open Source Matters, Inc. All rights reserved.
  * @copyright  Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved.
  * @license    GNU General Public License version 2 or later; see LICENSE.txt
  * @license    GNU General Public License version 2 or later; see LICENSE.txt
  */
  */
Line 34: Line 41:
</span>
</span>


== Create the general controller ==
== Crear el contralor general ==
The entry point now gets an instance of a ''HelloWorld'' prefixed controller. Let's create a basic controller for the administrator part:
El punto de entrada ahora recibe una instancia de un controlador ''HelloWorld'' prefijado. Vamos a crear un controlador básico para la parte del administrador:


<span id="admin/controller.php">
<span id="admin/controller.php">
''admin/controller.php''
<tt>'''admin/controller.php'''</tt>
<source lang="php">
<source lang="php">
<?php
<?php
Line 45: Line 52:
  * @subpackage  com_helloworld
  * @subpackage  com_helloworld
  *
  *
  * @copyright  Copyright (C) 2005 - 2015 Open Source Matters, Inc. All rights reserved.
  * @copyright  Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved.
  * @license    GNU General Public License version 2 or later; see LICENSE.txt
  * @license    GNU General Public License version 2 or later; see LICENSE.txt
  */
  */
Line 73: Line 80:
</span>
</span>


This controller will display the 'HelloWorlds' view by default.
Este controlador mostrará la vista 'HelloWorlds' de forma predeterminada.


== Create the view ==
== Crear la vista ==


With your favourite file manager and editor, create a file <tt>admin/views/helloworlds/view.html.php</tt> containing:
Con tu administrador y editor de archivos favoritos, crea un archivo de <tt>admin/views/helloworlds/view.html.php</tt> que contenga:


<span id="admin/views/helloworlds/view.html.php">
<span id="admin/views/helloworlds/view.html.php">
<tt>admin/views/helloworlds/view.html.php</tt>
<tt>'''admin/views/helloworlds/view.html.php'''</tt>
<source lang="php">
<source lang="php">
<?php
<?php
Line 87: Line 94:
  * @subpackage  com_helloworld
  * @subpackage  com_helloworld
  *
  *
  * @copyright  Copyright (C) 2005 - 2015 Open Source Matters, Inc. All rights reserved.
  * @copyright  Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved.
  * @license    GNU General Public License version 2 or later; see LICENSE.txt
  * @license    GNU General Public License version 2 or later; see LICENSE.txt
  */
  */
Line 129: Line 136:
</span>
</span>


In Joomla, views display data using layout. With your favourite file manager and editor, put a file <tt>admin/views/helloworlds/tmpl/default.php</tt> containing
En Joomla, las vistas muestran los datos en la pantalla usando el diseño. Con tu administrador y editor de archivos favoritos, coloca un archivo <tt>admin/views/helloworlds/tmpl/default.php</tt> que contenga


<span id="admin/views/helloworlds/tmpl/default.php">
<span id="admin/views/helloworlds/tmpl/default.php">
<tt>admin/views/helloworlds/tmpl/default.php</tt>
<tt>'''admin/views/helloworlds/tmpl/default.php'''</tt>
<source lang="php">
<source lang="php">
<?php
<?php
Line 139: Line 146:
  * @subpackage  com_helloworld
  * @subpackage  com_helloworld
  *
  *
  * @copyright  Copyright (C) 2005 - 2015 Open Source Matters, Inc. All rights reserved.
  * @copyright  Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved.
  * @license    GNU General Public License version 2 or later; see LICENSE.txt
  * @license    GNU General Public License version 2 or later; see LICENSE.txt
  */
  */
Line 202: Line 209:
</span>
</span>


''COM_HELLOWORLD_HELLOWORLDS_NAME'', ''COM_HELLOWORLD_ID'' and the others are placeholders which will later be replaced with language-specific text. The [http://api.joomla.org/cms-3/classes/JText.html JText::_] method translates a string into the current language.
''COM_HELLOWORLD_HELLOWORLDS_NAME'', ''COM_HELLOWORLD_ID'' y los otros son los marcadores de posición que más tarde serán reemplazados con un texto del idioma específico. [Http://api.joomla.org/cms-3/classes/JText.html JText::_] método de traducir una cadena en el idioma actual.


<tt>checkAll</tt> is a javascript function defined in the Joomla core able to check all items.
<tt>checkAll</tt> es una función javascript definida en el núcleo de Joomla capaz de controlar todos los elementos.


<tt>JHtml::_</tt> is a helper function able to display several HTML output. In this case, it will display a checkbox for the item.
<tt>JHtml::_</tt> es una función auxiliar capaz de mostrar varias salidas HTML. En este caso, se mostrará una casilla de verificación para el elemento.


<tt>JPagination</tt> is a Joomla class able to manage and display pagination object.
<tt>JPagination</tt> es una clase de Joomla capaz de gestionar y mostrar el objeto pagination.


== Create the model ==
== Crear el modelo ==
The ''HelloWorlds'' view asks the model for data. In Joomla, there is a class able to manage a list of data: ''JModelList''. Class ''JModelList'' and inherited classes need only one method:
La vista ''HelloWorlds'' consulta al modelo por los datos. En Joomla, hay una clase capaz de gestionar una lista de datos: ''JModelList''. la clase ''JModelList'' y sus clases heredadas sólo necesitan de un método:
* ''getListQuery'' which constructs an SQL query
* ''getListQuery'' que construye una consulta SQL


and two states:
y dos estados:
* <tt>list.start</tt> for determining the list offset
* <tt>list.start</tt> para la determinar la salida de la lista
* <tt>list.limit</tt> for determining the list length
* <tt>list.limit</tt> para la determinar la longitud de la lista


The <tt>getItems</tt> and <tt>getPagination</tt> methods are defined in JModelList class. They don't need to be defined in the <tt>HelloWorldModelHelloWorlds</tt> class.
Los métodos <tt>getItems</tt> y <tt>getPagination</tt> se definen en la clase  JModelList. Ellos no necesitan ser definidos en la clase <tt>HelloWorldModelHelloWorlds</tt>.


<span id="admin/models/helloworlds.php">
<span id="admin/models/helloworlds.php">
Line 228: Line 235:
  * @subpackage  com_helloworld
  * @subpackage  com_helloworld
  *
  *
  * @copyright  Copyright (C) 2005 - 2015 Open Source Matters, Inc. All rights reserved.
  * @copyright  Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved.
  * @license    GNU General Public License version 2 or later; see LICENSE.txt
  * @license    GNU General Public License version 2 or later; see LICENSE.txt
  */
  */
Line 263: Line 270:
</span>
</span>


The <tt>_populateState</tt> method is, by default, automatically called when a state is read by the <tt>getState</tt> method.
El método <tt>_populateState</tt> es, de forma predeterminada, llamado automáticamente cuando un estado es leído por el método <tt>getState</tt>.


== Packaging the component ==
== Empaquetado del componente ==


Content of your code directory
El contenido de tu directorio de código


* ''[[#helloworld.xml|helloworld.xml]]''
* ''[[#helloworld.xml|helloworld.xml]]''
Line 303: Line 310:
* ''[[S:MyLanguage/J3.2:Developing_an_MVC_Component/Using_the_database#admin/tables/helloworld.php|admin/tables/helloworld.php]]''
* ''[[S:MyLanguage/J3.2:Developing_an_MVC_Component/Using_the_database#admin/tables/helloworld.php|admin/tables/helloworld.php]]''


Create a compressed file of this directory or directly download the [https://github.com/scionescire/Joomla-3.2-Hello-World-Component/archive/step-7-basic-backend.zip archive] and install it using the extension manager of Joomla. You can add a menu item of this component using the menu manager in the backend.
Crea un archivo comprimido de este directorio o descarga directamente el [https://github.com/scionescire/Joomla-3.2-Hello-World-Component/archive/step-7-basic-backend.zip archivo] e instálalo con el gestor de extensiones de Joomla. Puedes agregar un elemento de menú de este componente usando el gestor de menús en el lado del servidor.


<span id="helloworld.xml">
<span id="helloworld.xml">
Line 309: Line 316:
<source lang="xml" highlight="13,56,63-64">
<source lang="xml" highlight="13,56,63-64">
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<extension type="component" version="3.2.0" method="upgrade">
<extension type="component" version="3.0" method="upgrade">


<name>Hello World!</name>
<name>Hello World!</name>
<!-- The following elements are optional and free of formatting constraints -->
<!-- The following elements are optional and free of formatting constraints -->
<creationDate>January 2014</creationDate>
<creationDate>January 2018</creationDate>
<author>John Doe</author>
<author>John Doe</author>
<authorEmail>john.doe@example.org</authorEmail>
<authorEmail>john.doe@example.org</authorEmail>
Line 379: Line 386:
</span>
</span>


Now you can see in your component '''hello-world''' an array with two colums, two rows and checkboxes. You can click the checkboxes in order to select the different options you want.
Ahora puedes ver en tu componente '''hello-world''' un array con dos columnas, dos filas y casillas de verificación. Puede hacer clic en las casillas de verificación para seleccionar las diferentes opciones que desees.


{{notice|Please create a pull request or issue at https://github.com/joomla/Joomla-3.2-Hello-World-Component for any code descprepancies or if editing any of the source code on this page.}}
{{notice|Por favor, crea una petición o tema en https://github.com/joomla/Joomla-3.2-Hello-World-Component para cualquier discrepancia en el código o para la edición de cualquier parte del código fuente de esta página.}}


== Contributors ==
== Colaboradores ==
*[[User:Gunjanpatel|Gunjan Patel]]
*[[User:Gunjanpatel|Gunjan Patel]]
*[[User:cdemko|Christophe Demko]]
*[[User:cdemko|Christophe Demko]]
Line 391: Line 398:


<div class="row">  
<div class="row">  
<div class="large-6 columns">{{Basic button|S:MyLanguage/J3.x:Developing_an_MVC_Component/Using the database|Prev: Using the database|class=expand success}}</div>
<div class="large-6 columns">{{Basic button|S:MyLanguage/J3.x:Developing_an_MVC_Component/Using the database|Prev: Utilizando la base de datos|class=expand success}}</div>
<div class="large-6 columns">{{Basic button|S:MyLanguage/J3.x:Developing_an_MVC_Component/Adding language management|Next: Adding language management|class=expand}}</div>
<div class="large-6 columns">{{Basic button|S:MyLanguage/J3.x:Developing_an_MVC_Component/Adding language management|Sig: Agregagar gestión de idioma|class=expand}}</div>
</div>
</div>


<noinclude>
<noinclude>
[[Category:Joomla! 3.x]]
[[Category:Joomla! 3.x{{#translation:}}]]
[[Category:Joomla! 3.0]]
[[Category:Joomla! 3.0{{#translation:}}]]
[[Category:Joomla! 3.1]]
[[Category:Joomla! 3.1{{#translation:}}]]
[[Category:Joomla! 3.2]]
[[Category:Joomla! 3.2{{#translation:}}]]
[[Category:Joomla! 3.3]]
[[Category:Joomla! 3.3{{#translation:}}]]
[[Category:Joomla! 3.4]]
[[Category:Joomla! 3.4{{#translation:}}]]
[[Category:Beginner Development]]
[[Category:Beginner Development{{#translation:}}]]
[[Category:Component Development]]
[[Category:Component Development{{#translation:}}]]
[[Category:Tutorials]]
[[Category:Tutorials{{#translation:}}]]
[[Category:Tutorials in a Series]]
[[Category:Tutorials in a Series{{#translation:}}]]
</noinclude>
</noinclude>

Latest revision as of 15:01, 29 January 2019

Joomla! 
3.x
Tutorial
Desarrollo de un Componente MVC

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

  1. Agregar ACL

Agregar un archivo de secuencia de comandos instalar-desinstalar-actualizar

Agregar un formulario del lado cliente

  1. Agregar una imagen
  2. Agregar un mapa
  3. Agregar AJAX
  4. Agregar un alias

Usar la facilidad filtro de idioma

  1. Agregar una Modal
  2. Agregar Asociaciones
  3. Agregar Comprobación
  4. Agregar Ordenamiento
  5. Agregar Niveles
  6. Agregar Control de Versiones
  7. Agregar Etiquetas
  8. Agregar Accesos
  9. Agregar procesos por lote
  10. Agregar Caché
  11. Agregar un Canal de Noticias

Agregar un servidor de actualización

  1. Agregar campos personalizados
  2. Upgrading to Joomla4



Esta es una serie multi-artículos de tutoriales sobre cómo desarrollar un Componente Modelo-Vista-Controlador para Joomla! VersiónJoomla 3.x.

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").



Introducción

Este artículo es parte del tutorial Desarrollo de un Componente MVC para Joomla! 3.2. Te invitamos a leer las partes anteriores del tutorial antes de leer esto.

Hay 2 videos (en inglés) asociados con este paso del tutorial, que cubren Estructura y paginación MVC y elementos HTML y código Javascript.

Lado servidor básico

El diseño de la interfaz del lado servidor nos lleva a crear al menos un tríptico Modelo-Vista-Controlador. Tenemos que modificar el punto de entrada del administrador de de nuestro componente, el archivo admin/helloworld.php.

admin/helloworld.php

<?php
/**
 * @package     Joomla.Administrator
 * @subpackage  com_helloworld
 *
 * @copyright   Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved.
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

// No direct access to this file
defined('_JEXEC') or die('Restricted access');

// Get an instance of the controller prefixed by HelloWorld
$controller = JControllerLegacy::getInstance('HelloWorld');

// Perform the Request task
$controller->execute(JFactory::getApplication()->input->get('task'));

// Redirect if set by the controller
$controller->redirect();

Crear el contralor general

El punto de entrada ahora recibe una instancia de un controlador HelloWorld prefijado. Vamos a crear un controlador básico para la parte del administrador:

admin/controller.php

<?php
/**
 * @package     Joomla.Administrator
 * @subpackage  com_helloworld
 *
 * @copyright   Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved.
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

// No direct access to this file
defined('_JEXEC') or die('Restricted access');

/**
 * General Controller of HelloWorld component
 *
 * @package     Joomla.Administrator
 * @subpackage  com_helloworld
 * @since       0.0.7
 */
class HelloWorldController extends JControllerLegacy
{
	/**
	 * The default view for the display method.
	 *
	 * @var string
	 * @since 12.2
	 */
	protected $default_view = 'helloworlds';
}

Este controlador mostrará la vista 'HelloWorlds' de forma predeterminada.

Crear la vista

Con tu administrador y editor de archivos favoritos, crea un archivo de admin/views/helloworlds/view.html.php que contenga:

admin/views/helloworlds/view.html.php

<?php
/**
 * @package     Joomla.Administrator
 * @subpackage  com_helloworld
 *
 * @copyright   Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved.
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

// No direct access to this file
defined('_JEXEC') or die('Restricted access');

/**
 * HelloWorlds View
 *
 * @since  0.0.1
 */
class HelloWorldViewHelloWorlds extends JViewLegacy
{
	/**
	 * Display the Hello World view
	 *
	 * @param   string  $tpl  The name of the template file to parse; automatically searches through the template paths.
	 *
	 * @return  void
	 */
	function display($tpl = null)
	{
		// Get data from the model
		$this->items		= $this->get('Items');
		$this->pagination	= $this->get('Pagination');

		// Check for errors.
		if (count($errors = $this->get('Errors')))
		{
			JError::raiseError(500, implode('<br />', $errors));

			return false;
		}

		// Display the template
		parent::display($tpl);
	}
}

En Joomla, las vistas muestran los datos en la pantalla usando el diseño. Con tu administrador y editor de archivos favoritos, coloca un archivo admin/views/helloworlds/tmpl/default.php que contenga

admin/views/helloworlds/tmpl/default.php

<?php
/**
 * @package     Joomla.Administrator
 * @subpackage  com_helloworld
 *
 * @copyright   Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved.
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

// No direct access to this file
defined('_JEXEC') or die('Restricted Access');
?>
<form action="index.php?option=com_helloworld&view=helloworlds" method="post" id="adminForm" name="adminForm">
	<table class="table table-striped table-hover">
		<thead>
		<tr>
			<th width="1%"><?php echo JText::_('COM_HELLOWORLD_NUM'); ?></th>
			<th width="2%">
				<?php echo JHtml::_('grid.checkall'); ?>
			</th>
			<th width="90%">
				<?php echo JText::_('COM_HELLOWORLD_HELLOWORLDS_NAME') ;?>
			</th>
			<th width="5%">
				<?php echo JText::_('COM_HELLOWORLD_PUBLISHED'); ?>
			</th>
			<th width="2%">
				<?php echo JText::_('COM_HELLOWORLD_ID'); ?>
			</th>
		</tr>
		</thead>
		<tfoot>
			<tr>
				<td colspan="5">
					<?php echo $this->pagination->getListFooter(); ?>
				</td>
			</tr>
		</tfoot>
		<tbody>
			<?php if (!empty($this->items)) : ?>
				<?php foreach ($this->items as $i => $row) : ?>

					<tr>
						<td>
							<?php echo $this->pagination->getRowOffset($i); ?>
						</td>
						<td>
							<?php echo JHtml::_('grid.id', $i, $row->id); ?>
						</td>
						<td>
							<?php echo $row->greeting; ?>
						</td>
						<td align="center">
							<?php echo JHtml::_('jgrid.published', $row->published, $i, 'helloworlds.', true, 'cb'); ?>
						</td>
						<td align="center">
							<?php echo $row->id; ?>
						</td>
					</tr>
				<?php endforeach; ?>
			<?php endif; ?>
		</tbody>
	</table>
</form>

COM_HELLOWORLD_HELLOWORLDS_NAME, COM_HELLOWORLD_ID y los otros son los marcadores de posición que más tarde serán reemplazados con un texto del idioma específico. JText::_ método de traducir una cadena en el idioma actual.

checkAll es una función javascript definida en el núcleo de Joomla capaz de controlar todos los elementos.

JHtml::_ es una función auxiliar capaz de mostrar varias salidas HTML. En este caso, se mostrará una casilla de verificación para el elemento.

JPagination es una clase de Joomla capaz de gestionar y mostrar el objeto pagination.

Crear el modelo

La vista HelloWorlds consulta al modelo por los datos. En Joomla, hay una clase capaz de gestionar una lista de datos: JModelList. la clase JModelList y sus clases heredadas sólo necesitan de un método:

  • getListQuery que construye una consulta SQL

y dos estados:

  • list.start para la determinar la salida de la lista
  • list.limit para la determinar la longitud de la lista

Los métodos getItems y getPagination se definen en la clase JModelList. Ellos no necesitan ser definidos en la clase HelloWorldModelHelloWorlds.

admin/models/helloworlds.php

<?php
/**
 * @package     Joomla.Administrator
 * @subpackage  com_helloworld
 *
 * @copyright   Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved.
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */
// No direct access to this file
defined('_JEXEC') or die('Restricted access');

/**
 * HelloWorldList Model
 *
 * @since  0.0.1
 */
class HelloWorldModelHelloWorlds extends JModelList
{
	/**
	 * Method to build an SQL query to load the list data.
	 *
	 * @return      string  An SQL query
	 */
	protected function getListQuery()
	{
		// Initialize variables.
		$db    = JFactory::getDbo();
		$query = $db->getQuery(true);

		// Create the base select statement.
		$query->select('*')
                ->from($db->quoteName('#__helloworld'));

		return $query;
	}
}

El método _populateState es, de forma predeterminada, llamado automáticamente cuando un estado es leído por el método getState.

Empaquetado del componente

El contenido de tu directorio de código

Crea un archivo comprimido de este directorio o descarga directamente el archivo e instálalo con el gestor de extensiones de Joomla. Puedes agregar un elemento de menú de este componente usando el gestor de menús en el lado del servidor.

helloworld.xml

<?xml version="1.0" encoding="utf-8"?>
<extension type="component" version="3.0" method="upgrade">

	<name>Hello World!</name>
	<!-- The following elements are optional and free of formatting constraints -->
	<creationDate>January 2018</creationDate>
	<author>John Doe</author>
	<authorEmail>john.doe@example.org</authorEmail>
	<authorUrl>http://www.example.org</authorUrl>
	<copyright>Copyright Info</copyright>
	<license>License Info</license>
	<!--  The version string is recorded in the components table -->
	<version>0.0.7</version>
	<!-- The description is optional and defaults to the name -->
	<description>Description of the Hello World component ...</description>

	<install> <!-- Runs on install -->
		<sql>
			<file driver="mysql" charset="utf8">sql/install.mysql.utf8.sql</file>
		</sql>
	</install>
	<uninstall> <!-- Runs on uninstall -->
		<sql>
			<file driver="mysql" charset="utf8">sql/uninstall.mysql.utf8.sql</file>
		</sql>
	</uninstall>
	<update> <!-- Runs on update; New since J2.5 -->
		<schemas>
			<schemapath type="mysql">sql/updates/mysql</schemapath>
		</schemas>
	</update>

	<!-- Site Main File Copy Section -->
	<!-- Note the folder attribute: This attribute describes the folder
		to copy FROM in the package to install therefore files copied
		in this section are copied from /site/ in the package -->
	<files folder="site">
		<filename>index.html</filename>
		<filename>helloworld.php</filename>
		<filename>controller.php</filename>
		<folder>views</folder>
		<folder>models</folder>
	</files>

	<administration>
		<!-- Administration Menu Section -->
		<menu link='index.php?option=com_helloworld'>Hello World!</menu>
		<!-- Administration Main File Copy Section -->
		<!-- Note the folder attribute: This attribute describes the folder
			to copy FROM in the package to install therefore files copied
			in this section are copied from /admin/ in the package -->
		<files folder="admin">
			<!-- Admin Main File Copy Section -->
			<filename>index.html</filename>
			<filename>helloworld.php</filename>
			<filename>controller.php</filename>
			<!-- SQL files section -->
			<folder>sql</folder>
			<!-- tables files section -->
			<folder>tables</folder>
			<!-- models files section -->
			<folder>models</folder>
			<!-- views files section -->
			<folder>views</folder>
		</files>
	</administration>

</extension>

Ahora puedes ver en tu componente hello-world un array con dos columnas, dos filas y casillas de verificación. Puede hacer clic en las casillas de verificación para seleccionar las diferentes opciones que desees.

General Information

Por favor, crea una petición o tema en https://github.com/joomla/Joomla-3.2-Hello-World-Component para cualquier discrepancia en el código o para la edición de cualquier parte del código fuente de esta página.

Colaboradores