/**
* Get modules by position
*
* @param string $position The position of the module
*
* @return array An array of module objects
*
* @since 1.5
*/
public static function &getModules($position)
{
$position = strtolower($position);
$result = array();
$input = Factory::getApplication()->input;
$modules =& static::load();
$total = \count($modules);
for ($i = 0; $i < $total; $i++) {
if ($modules[$i]->position === $position) {
$result[] =& $modules[$i];
}
}
// Prepend a dummy module for template preview if no module is published in the position
if (empty($result) && $input->getBool('tp') && ComponentHelper::getParams('com_templates')->get('template_positions_display')) {
$dummy = static::createDummyModule();
$dummy->title = $position;
$dummy->position = $position;
$dummy->content = $position;
$dummy->contentRendered = true;
array_unshift($result, $dummy);
}
return $result;
}