How to Get Component, Module, Plugin, and Menu parameters in Joomla 3.X

WebTechRiser.com > Joomla 3.0 > How to Get Component, Module, Plugin, and Menu parameters in Joomla 3.X

At the time of Joomla! custom component development, we need to get a component’s parameters for use in different places like in the component itself, modules, and plugins.

Access component parameters from inside own component

To access component parameters in the component itself, I use Factory::getApplication() like the below:

use Joomla\CMS\Factory;

$app = Factory::getApplication();
$params = $app->getParams();
$param = $params->get('show_create_date');

Access component parameters from another component

use Joomla\CMS\Component\ComponentHelper;

$content_params = ComponentHelper::getParams( 'com_content' );
$show_date = $content_params->get( 'show_create_date' );

Or even shortcut:

$show_date = ComponentHelper::getParams('com_content')->get('show_create_date');

Get the Module Parameter from the template’s index.php file

use Joomla\CMS\Component\ComponentHelper;
use Joomla\Registry\Registry;

$module = ModuleHelper::getModule('mod_headlineticker');
$headLineParams = new Registry($module->params);
$tickercount = (int) $headLineParams['count'];

Get the plugin’s parameter anywhere inside Joomla

To access a plugin’s parameter (here, it is “relatedarticles” which is a “content” plugin) anywhere inside Joomla 3, load the particular plugin’s parameters in a variable named “$plugin” using PluginHelper::getPlugin function as an array. Later, this array-type variable is boxed in JRegistry class and uses the “get” function to access each and every parameter of the Registry (former JRegistry) class.

use Joomla\CMS\Plugin\PluginHelper;
use Joomla\Registry\Registry;

// Get plugin 'relatedarticles' of type 'content'
$plugin = PluginHelper::getPlugin('content', 'relatedarticles');

// Check if plugin is enabled
if ($plugin) {
    // Get plugin params
    $pluginParams = new Registry($plugin->params);
    $catids = $pluginParams->get('catids');
}

To access Current Menu parameters

use Joomla\CMS\Factory;

$app = Factory::getApplication();
// Get active menu
$currentMenuItem = $app->getMenu()->getActive();
// Get params for active menu
$params = $currentMenuItem->params;
// Access param you want
$yourParameter = $params->get('yourParameter');

To access Menu parameters from a known Itemid

use Joomla\CMS\Factory;

$app = Factory::getApplication();
// Get Itemid from URL
$input = Factory::getApplication()->input;
$itemId = $input->get->get('Itemid', '0', 'INT');
// Get menu from Itemid
$menuItem = $app->getMenu()->getItem($itemId);
// Get params for menuItem
$params = $menuItem->params;
// Access param you want
$yourParameter = $params->get('yourParameter');

Template parameters from inside a template

$param = $this->params->get('paramName', defaultValue);

Template parameters from outside a template

use Joomla\CMS\Factory;

$app = Factory::getApplication('site');
$template = $app->getTemplate(true);
$param = $template->params->get('paramName', defaultValue);
Also read:  NetBeans auto-completion does not show class methods when using the Singleton design pattern
Category Joomla 3.0

Leave Your Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.