Creating a simple module/Adding Form Fields/es: Difference between revisions
From Joomla! Documentation
No edit summary |
Updating to match new version of source page |
||
| Line 3: | Line 3: | ||
Los campos de formulario permiten una gran cantidad de personalización de Joomla y para los módulos son la única manera de permitir al usuario ajustar el módulo a las necesidades de su sitio. | Los campos de formulario permiten una gran cantidad de personalización de Joomla y para los módulos son la única manera de permitir al usuario ajustar el módulo a las necesidades de su sitio. | ||
<div class="mw-translate-fuzzy"> | |||
== Agregar Campos de Formulario al módulo == | == Agregar Campos de Formulario al módulo == | ||
</div> | |||
<div class="mw-translate-fuzzy"> | |||
En este caso vamos a extender nuestro ejemplo anterior utilizando la base de datos para proporcionar una lista de idiomas para que el usuario los seleccione. Para permitir que esto suceda vamos a utilizar el tipo de campo de formulario SQL (todos los detalles en la página docs [[S:MyLanguage/SQL_form_field_type|Campo de Formulario SQL]]). | En este caso vamos a extender nuestro ejemplo anterior utilizando la base de datos para proporcionar una lista de idiomas para que el usuario los seleccione. Para permitir que esto suceda vamos a utilizar el tipo de campo de formulario SQL (todos los detalles en la página docs [[S:MyLanguage/SQL_form_field_type|Campo de Formulario SQL]]). | ||
</div> | |||
<div class="mw-translate-fuzzy"> | |||
Primero de todo vamos a agregar un campo de formulario en nuestro archivo xml. Recuerdas aquellos de las etiquetas de configuración que hemos añadido anterioremente? Ahora bien, dentro de estas etiquetas, vamos a añadir el siguiente código: | Primero de todo vamos a agregar un campo de formulario en nuestro archivo xml. Recuerdas aquellos de las etiquetas de configuración que hemos añadido anterioremente? Ahora bien, dentro de estas etiquetas, vamos a añadir el siguiente código: | ||
</div> | |||
<source lang="xml"> | <source lang="xml"> | ||
| Line 21: | Line 27: | ||
</source> | </source> | ||
<div class="mw-translate-fuzzy"> | |||
Esto selecciona los idiomas de la tabla de la base de datos y permite al usuario elegirlo a partir de un elemento de selección. | Esto selecciona los idiomas de la tabla de la base de datos y permite al usuario elegirlo a partir de un elemento de selección. | ||
</div> | |||
<div class="mw-translate-fuzzy"> | |||
Si se va a instalar el módulo como esta ahora se verá al acceder al módulo en el lado servidor de Joomla, un desplegable ha aparecido (aunque elegir una opción no afectará el módulo por el momento). | Si se va a instalar el módulo como esta ahora se verá al acceder al módulo en el lado servidor de Joomla, un desplegable ha aparecido (aunque elegir una opción no afectará el módulo por el momento). | ||
</div> | |||
<div class="mw-translate-fuzzy"> | |||
''Nota:'' Los parámetros del campo de formulario se almacenan para cada módulo en la tabla #__modules bajo los parámetros del campo como string codificado en json. | ''Nota:'' Los parámetros del campo de formulario se almacenan para cada módulo en la tabla #__modules bajo los parámetros del campo como string codificado en json. | ||
</div> | |||
<div class="mw-translate-fuzzy"> | |||
Ahora vamos a hacer que el campo de formulario haga algo! | Ahora vamos a hacer que el campo de formulario haga algo! | ||
</div> | |||
<div class="mw-translate-fuzzy"> | |||
Vamos a entrar en el mod_helloworld.php y recuperar el parámetro (ten en cuenta '''no se puede''' recuperar el parámetro en el helper) y luego lo pasamos a la función helper. | Vamos a entrar en el mod_helloworld.php y recuperar el parámetro (ten en cuenta '''no se puede''' recuperar el parámetro en el helper) y luego lo pasamos a la función helper. | ||
</div> | |||
<source lang="php"> | <source lang="php"> | ||
/** | /** | ||
* This retrieves the lang parameter we stored earlier. Note the second part | * This retrieves the lang parameter we stored earlier. Note the second part | ||
* which | * which assigns the default value of 1 if the parameter cannot be | ||
* retrieved for some reason | * retrieved for some reason. | ||
**/ | **/ | ||
$language = $params->get('lang', '1'); | $language = $params->get('lang', '1'); | ||
| Line 41: | Line 57: | ||
</source> | </source> | ||
<div class="mw-translate-fuzzy"> | |||
Ahora vamos a editar nuestra consulta a la base de datos en el archivo helper para reflejar nuestro parámetro de elección. | Ahora vamos a editar nuestra consulta a la base de datos en el archivo helper para reflejar nuestro parámetro de elección. | ||
</div> | |||
<source lang="php"> | <source lang="php"> | ||
// Obtain a database connection | // Obtain a database connection. | ||
$db = JFactory::getDbo(); | $db = JFactory::getDbo(); | ||
// Retrieve the shout | // Retrieve the shout. Note that we are now retrieving the id not the lang field. | ||
$query = $db->getQuery(true) | $query = $db->getQuery(true) | ||
->select($db->quoteName('hello')) | ->select($db->quoteName('hello')) | ||
| Line 55: | Line 73: | ||
// Load the row. | // Load the row. | ||
$result = $db->loadResult(); | $result = $db->loadResult(); | ||
// Return the Hello | // Return the Hello. | ||
return $result; | return $result; | ||
</source> | </source> | ||
<div class="mw-translate-fuzzy"> | |||
== Conclusión == | == Conclusión == | ||
Los campos del formulario le dan al usuario una manera fácil de personalizar el módulo a la configuración de los sitios. Esto permite aumentar así el alcance de los módulos a muchos idiomas y aplicaciones. | Los campos del formulario le dan al usuario una manera fácil de personalizar el módulo a la configuración de los sitios. Esto permite aumentar así el alcance de los módulos a muchos idiomas y aplicaciones. | ||
</div> | |||
<div class="row"> | <div class="row"> | ||
Latest revision as of 13:41, 1 April 2020
Esta es una serie de artículos múltiples sobre cómo crear un módulo para Joomla! Versión
. Puedes navegar por los artículos en esta serie usando el menú desplegable de navegación.
Comienza con la Introducción y navega 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 ("Artículos de esta serie").
Los campos de formulario permiten una gran cantidad de personalización de Joomla y para los módulos son la única manera de permitir al usuario ajustar el módulo a las necesidades de su sitio.
Agregar Campos de Formulario al módulo
En este caso vamos a extender nuestro ejemplo anterior utilizando la base de datos para proporcionar una lista de idiomas para que el usuario los seleccione. Para permitir que esto suceda vamos a utilizar el tipo de campo de formulario SQL (todos los detalles en la página docs Campo de Formulario SQL).
Primero de todo vamos a agregar un campo de formulario en nuestro archivo xml. Recuerdas aquellos de las etiquetas de configuración que hemos añadido anterioremente? Ahora bien, dentro de estas etiquetas, vamos a añadir el siguiente código:
<fields name="params">
<fieldset name="basic">
<field
name="lang"
type="sql"
default="1"
label="Select a language"
query="SELECT id AS value, lang FROM #__helloworld" />
</fieldset>
</fields>
Esto selecciona los idiomas de la tabla de la base de datos y permite al usuario elegirlo a partir de un elemento de selección.
Si se va a instalar el módulo como esta ahora se verá al acceder al módulo en el lado servidor de Joomla, un desplegable ha aparecido (aunque elegir una opción no afectará el módulo por el momento).
Nota: Los parámetros del campo de formulario se almacenan para cada módulo en la tabla #__modules bajo los parámetros del campo como string codificado en json.
Ahora vamos a hacer que el campo de formulario haga algo!
Vamos a entrar en el mod_helloworld.php y recuperar el parámetro (ten en cuenta no se puede recuperar el parámetro en el helper) y luego lo pasamos a la función helper.
/**
* This retrieves the lang parameter we stored earlier. Note the second part
* which assigns the default value of 1 if the parameter cannot be
* retrieved for some reason.
**/
$language = $params->get('lang', '1');
$hello = modHelloWorldHelper::getHello( $language );
Ahora vamos a editar nuestra consulta a la base de datos en el archivo helper para reflejar nuestro parámetro de elección.
// Obtain a database connection.
$db = JFactory::getDbo();
// Retrieve the shout. Note that we are now retrieving the id not the lang field.
$query = $db->getQuery(true)
->select($db->quoteName('hello'))
->from($db->quoteName('#__helloworld'))
->where('id = '. $db->Quote($params));
// Prepare the query
$db->setQuery($query);
// Load the row.
$result = $db->loadResult();
// Return the Hello.
return $result;
Conclusión
Los campos del formulario le dan al usuario una manera fácil de personalizar el módulo a la configuración de los sitios. Esto permite aumentar así el alcance de los módulos a muchos idiomas y aplicaciones.