| Door: Theo van der Zee. | Categorie: Algemeen.

Ophalen van plugin, module, component en template parameters

Sinds de release van Joomla 1.5 kunnen ontwikkelaars gebruikers in staat stellen extensies aan te passen door middel van parameters. Hoewel het fantastisch is dat dit mogelijk is, is het vaak wel lastig om uit te vinden welke code benodigd is om één van deze parameters uit te lezen. Hierom zal er in deze blog een overzicht gegeven worden van de code die benodigd is om de verschillende parameters op te halen.

Plugin parameters vanuit een plugin

{codecitation}$param = $this->params->get('paramName', 'defaultValue');{/codecitation}

Plugin parameters van buiten een plugin

{codecitation}$plugin = &JPluginHelper::getPlugin('example');
$pluginParams = new JParameter($plugin->params);
$param = $pluginParams->get('paramName', 'defaultValue');{/codecitation}

Module parameters vanuit een module

{codecitation}$param = $params->get('paramName', 'defaultValue');{/codecitation}

Module parameters van buiten een module

{codecitation}$module = &JModuleHelper::getModule('mod_example');
$params = new JParameter($module->params);
$param = $moduleParams->get('paramName', 'defaultValue');{/codecitation}

Component parameters vanuit een component

{codecitation}$params = &JComponentHelper::getParams('com_example');
$param = $params->get('paramName', 'defaultValue');{/codecitation}

Component parameters van buiten een component

{codecitation}$params = &JComponentHelper::getParams('com_example');
$param = $params->get('paramName', 'defaultValue');{/codecitation}

Template parameters vanuit een template

{codecitation}$param = $this->params->get('paramName');{/codecitation}

Template parameters van buiten een template

{codecitation}jimport('joomla.filesystem.file');
$mainframe = &JFactory::getApplication();
$params = $mainframe->getParams(JFile::read(JURI::root() .'/templates/template_name/params.ini'));
$param = $params->get('paramName', 'defaultValue');{/codecitation}

Template parameters vanuit een included bestand buiten het Joomla framework

{codecitation}// Haal params.ini op relatief aan de huidige bestandslocatie (gebruik je eigen relatieve pad hier)
$paramsFile = dirname(__FILE__) . '/../../params.ini';

// Alle verder als het bestand bestaat
if(file_exists($paramsFile)) {
// Haal de inhoud op uit het params.ini bestand
$iniString = file_get_contents($paramsFile);

// Escape double quotes in waardes en double-quote vervolgens alle waardes (omdat Joomla dit niet voor ons doet..)
$iniQuoted = preg_replace('/=(.*)\\n/', "=\"$1\"\n", addcslashes($iniString, '"'));

// Parse de ini string naar een associatieve array
$iniParsed = parse_ini_string($iniQuoted);
} else {
$iniParsed = '';
}

// Zet params naar opgehaalde waardes of een lege array
$params = (!empty($iniParsed)) ? $iniParsed : array();

// Haal param value op uit array
$param = $params['paramName'];{/codecitation}

This article is also available in English: Retrieving Plugin, Module, Component and Template Parameters

{loadposition theovanderzee}

Heb jij net als Theo zelf een artikel geschreven dat je graag met andere Joomla gebruikers wilt delen? Neem dan contact met ons op.