J3.x

Difference between revisions of "Creating a simple module/Adding Form Fields/nl"

From Joomla! Documentation

< J3.x:Creating a simple module
(Created page with "== Formuliervelden toevoegen aan de module ==")
(Updating to match new version of source page)
 
(25 intermediate revisions by 2 users not shown)
Line 3: Line 3:
 
Formuliervelden creëren een grote mate van maatwerk in Joomla. Ze zijn de enige manier waarop gebruikers de module aan de eisen van hun site kunnen aanpassen.
 
Formuliervelden creëren een grote mate van maatwerk in Joomla. Ze zijn de enige manier waarop gebruikers de module aan de eisen van hun site kunnen aanpassen.
  
 +
<div class="mw-translate-fuzzy">
 
== Formuliervelden toevoegen aan de module ==
 
== Formuliervelden toevoegen aan de module ==
In this case we are going to extend our previous example using the database to provide a list of languages for the user to select from. To allow this to happen we will use the SQL form field type (full details for this on the [[S:MyLanguage/SQL_form_field_type|SQL Form Field]] docs page).
+
</div>
 +
<div class="mw-translate-fuzzy">
 +
In dit geval gaan we ons eerdere voorbeeld met de database uitbreiden, om een lijst met talen aan de gebruiker te presenteren waar hij uit kan kiezen. Om dit mogelijk te maken gebruiken we het het SQL formulierveld type (de details staan op de [[S:MyLanguage/SQL_form_field_type|SQL Form Field]] documentatie pagina).
 +
</div>
  
First of all we are going to add a form field into our xml file. Remember those config tags that we added in earlier? Well now inside these tags we are going to add the following code:
+
<div class="mw-translate-fuzzy">
 +
Allereerst voegen we een formulierveld toe aan ons xml-bestand. Weet u nog dat we in config tags hebben toegevoegd? In die tags voegen we de volgende code toe:
 +
</div>
  
 
<source lang="xml">
 
<source lang="xml">
Line 21: Line 27:
 
</source>
 
</source>
  
This selects the languages from the database table and allows the user to choose which one from a select element.
+
<div class="mw-translate-fuzzy">
 +
Hiermee selecteert u de talen uit de database tabel en geeft de gebruiker de mogelijkheid er een te kiezen via een selectielijst.
 +
</div>
  
If you were to install the module as it is now you would see if you were to access the module in the backend of Joomla that a dropdown had appeared (although picking an option won't affect the module at the moment).
+
<div class="mw-translate-fuzzy">
 +
Als u de module zou installeren zoals hij nu is en er in de Joomla backend naar kijkt, zou u zien dat er een dropdown verschijnt (hoewel een optie kiezen op dit moment nog geen effect heeft op de module).
 +
</div>
  
''Note:'' The form field parameters are stored for each module in the #__modules table under the params field as json encoded string.
+
<div class="mw-translate-fuzzy">
 +
''Let op:'' De formulierveld parameters worden voor elke module opgeslagen als JSON-encoded string in de ''#__modules'' tabel, onder het ''params'' veld.
 +
</div>
  
Now lets make the form field do something!
+
<div class="mw-translate-fuzzy">
 +
Nu gaan we het formulierveld iets laten doen!
 +
</div>
  
Lets go into the mod_helloworld.php and retrieve the parameter (note you '''cannot''' retrieve the parameter in the helper), and then pass it into the helper function.
+
<div class="mw-translate-fuzzy">
 +
Ga naar het ''mod_helloworld.php'' bestand en haal de parameter op (let op: u kunt de parameter '''niet''' ophalen in de helper). Geef het daarna door aan de helper functie.
 +
</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 states to use the default value of 1 if the parameter cannot be
+
   * 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>
  
Now lets edit our database query in the helper file to reflect our parameter choice.
+
<div class="mw-translate-fuzzy">
 +
Bewerk nu onze database query in het helper bestand om de parameter keuze op te halen.
 +
</div>
  
 
<source lang="php">
 
<source lang="php">
// Obtain a database connection
+
// Obtain a database connection.
 
$db = JFactory::getDbo();
 
$db = JFactory::getDbo();
// Retrieve the shout - note we are now retrieving the id not the lang field.
+
// 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>
  
== Conclusion ==
+
<div class="mw-translate-fuzzy">
Form fields give the user an easy way to customise the module to their sites settings. This allows the modules scope to be increased as well for many languages and applications.
+
== Conclusie ==
 +
Formuliervelden bieden de gebruiker een makkelijke manier om de module aan te passen aan de site-instellingen. Dit geeft de mogelijkheid het bereik van de module uit te breiden tot veel talen en toepassingen.
 +
</div>
  
 
<div class="row">  
 
<div class="row">  
<div class="large-6 columns">{{Basic button|S:MyLanguage/J3.x:Creating_a_simple_module/Using_the_Database|Prev: Using the Database|class=expand success}}</div>
+
<div class="large-6 columns">{{Basic button|S:MyLanguage/J3.x:Creating_a_simple_module/Using_the_Database|Vorige: De database gebruiken|class=expand success}}</div>
<div class="large-6 columns">{{Basic button|S:MyLanguage/J3.x:Creating_a_simple_module/Adding_Auto_Update|Next: Adding Auto Update|class=expand}}</div>
+
<div class="large-6 columns">{{Basic button|S:MyLanguage/J3.x:Creating_a_simple_module/Adding_Auto_Update|Volgende: Automatische update toevoegen|class=expand}}</div>
 
</div>
 
</div>
 
__NOTOC__
 
__NOTOC__
 
<noinclude>
 
<noinclude>
[[Category:Tutorials]]
+
[[Category:Tutorials/nl|Handleidingen]]
[[Category:Tutorials in a Series]]
+
[[Category:Tutorials in a Series/nl|Handleidingen in een serie]]
[[Category:Module Development]]
+
[[Category:Module Development/nl|Module ontwikkeling]]
[[Category:Beginner Development]]
+
[[Category:Beginner Development/nl|Beginners ontwikkeling]]
[[Category:Joomla! 3.x]]
+
[[Category:Joomla! 3.x/nl|Joomla! 3.x]]
[[Category:Joomla! 3.0]]
+
[[Category:Joomla! 3.0/nl|Joomla! 3.0]]
[[Category:Joomla! 3.1]]
+
[[Category:Joomla! 3.1/nl|Joomla! 3.1]]
[[Category:Joomla! 3.2]]
+
[[Category:Joomla! 3.2/nl|Joomla! 3.2]]
[[Category:Joomla! 3.3]]
+
[[Category:Joomla! 3.3/nl|Joomla! 3.3]]
[[Category:Joomla! 3.4]]
+
[[Category:Joomla! 3.4/nl|Joomla! 3.4]]
 
</noinclude>
 
</noinclude>

Latest revision as of 08:41, 1 April 2020

Other languages:
Bahasa Indonesia • ‎Deutsch • ‎English • ‎Nederlands • ‎español • ‎français • ‎português • ‎русский • ‎中文(台灣)‎
Joomla! 
3.x
Handleiding
Een eenvoudige module maken

Dit is een serie artikelen over het ontwikkelen van een module voor Joomla! versie Joomla 3.x. U kunt navigeren binnen de artikelen in deze serie met behulp van het navigatie drop-down menu.

Begin met de Introductie en navigeer door de artikelen van de serie door middel van de navigatieknop onderaan of het vak rechts (Artikelen in deze serie). Er zitten 2 video's bij deze handleiding die u hier kunt zien Basic Joomla Module Development video 1 en Basic Joomla Module Development video 2.




Formuliervelden creëren een grote mate van maatwerk in Joomla. Ze zijn de enige manier waarop gebruikers de module aan de eisen van hun site kunnen aanpassen.

Formuliervelden toevoegen aan de module

In dit geval gaan we ons eerdere voorbeeld met de database uitbreiden, om een lijst met talen aan de gebruiker te presenteren waar hij uit kan kiezen. Om dit mogelijk te maken gebruiken we het het SQL formulierveld type (de details staan op de SQL Form Field documentatie pagina).

Allereerst voegen we een formulierveld toe aan ons xml-bestand. Weet u nog dat we in config tags hebben toegevoegd? In die tags voegen we de volgende code toe:

<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>

Hiermee selecteert u de talen uit de database tabel en geeft de gebruiker de mogelijkheid er een te kiezen via een selectielijst.

Als u de module zou installeren zoals hij nu is en er in de Joomla backend naar kijkt, zou u zien dat er een dropdown verschijnt (hoewel een optie kiezen op dit moment nog geen effect heeft op de module).

Let op: De formulierveld parameters worden voor elke module opgeslagen als JSON-encoded string in de #__modules tabel, onder het params veld.

Nu gaan we het formulierveld iets laten doen!

Ga naar het mod_helloworld.php bestand en haal de parameter op (let op: u kunt de parameter niet ophalen in de helper). Geef het daarna door aan de helper functie.

/**
  * 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 );

Bewerk nu onze database query in het helper bestand om de parameter keuze op te halen.

// 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;

Conclusie

Formuliervelden bieden de gebruiker een makkelijke manier om de module aan te passen aan de site-instellingen. Dit geeft de mogelijkheid het bereik van de module uit te breiden tot veel talen en toepassingen.