API15:JModuleHelper/renderModule
From Joomla! Documentation
[<! removed edit link to red link >]
<! removed transcluded page call, red link never existed >
Syntax
renderModule($module, $attribs=array())
| Parameter Name | Default Value | Description |
|---|---|---|
| $module | ||
| $attribs | array() |
Defined in
libraries/joomla/application/module/helper.php
Importing
jimport( 'joomla.application.module.helper' );
Source Body
function renderModule($module, $attribs = array())
{
static $chrome;
global $mainframe, $option;
$scope = $mainframe->scope; //record the scope
$mainframe->scope = $module->module; //set scope to component name
// Handle legacy globals if enabled
if ($mainframe->getCfg('legacy'))
{
// Include legacy globals
global $my, $database, $acl, $mosConfig_absolute_path;
// Get the task variable for local scope
$task = JRequest::getString('task');
// For backwards compatibility extract the config vars as globals
$registry =& JFactory::getConfig();
foreach (get_object_vars($registry->toObject()) as $k => $v) {
$name = 'mosConfig_'.$k;
$$name = $v;
}
$contentConfig = &JComponentHelper::getParams( 'com_content' );
foreach (get_object_vars($contentConfig->toObject()) as $k => $v)
{
$name = 'mosConfig_'.$k;
$$name = $v;
}
$usersConfig = &JComponentHelper::getParams( 'com_users' );
foreach (get_object_vars($usersConfig->toObject()) as $k => $v)
{
$name = 'mosConfig_'.$k;
$$name = $v;
}
}
// Get module parameters
$params = new JParameter( $module->params );
// Get module path
$module->module = preg_replace('/[^A-Z0-9_\.-]/i', '', $module->module);
$path = JPATH_BASE.DS.'modules'.DS.$module->module.DS.$module->module.'.php';
// Load the module
if (!$module->user && file_exists( $path ) && empty($module->content))
{
$lang =& JFactory::getLanguage();
$lang->load($module->module);
$content = '';
ob_start();
require $path;
$module->content = ob_get_contents().$content;
ob_end_clean();
}
// Load the module chrome functions
if (!$chrome) {
$chrome = array();
}
require_once (JPATH_BASE.DS.'templates'.DS.'system'.DS.'html'.DS.'modules.php');
$chromePath = JPATH_BASE.DS.'templates'.DS.$mainframe->getTemplate().DS.'html'.DS.'modules.php';
if (!isset( $chrome[$chromePath]))
{
if (file_exists($chromePath)) {
require_once ($chromePath);
}
$chrome[$chromePath] = true;
}
//make sure a style is set
if(!isset($attribs['style'])) {
$attribs['style'] = 'none';
}
//dynamically add outline style
if(JRequest::getBool('tp')) {
$attribs['style'] .= ' outline';
}
foreach(explode(' ', $attribs['style']) as $style)
{
$chromeMethod = 'modChrome_'.$style;
// Apply chrome and render module
if (function_exists($chromeMethod))
{
$module->style = $attribs['style'];
ob_start();
$chromeMethod($module, $params, $attribs);
$module->content = ob_get_contents();
ob_end_clean();
}
}
$mainframe->scope = $scope; //revert the scope
return $module->content;
}
[<! removed edit link to red link >] <! removed transcluded page call, red link never existed >
Examples
Code Examples