public static function display($positionStub, $layout = 'standard', $chrome = 'standard', $gridsize = GRID_SYSTEM, $pattern = null) { /** @var $gantry Gantry */ global $gantry; if (array_key_exists($positionStub, $gantry->_aliases)) { return GantryModulesRenderer::display($gantry->_aliases[$positionStub], $layout, $chrome, $gridsize, $pattern); } $output = ''; $index = 0; $poscount = 1; $positions = $gantry->getPositions($positionStub, $pattern); $position_renders = array(); $count = $gantry->countModules($positionStub, $pattern); $showAllParam = $gantry->get($positionStub . '-showall'); $showMaxParam = $gantry->get($positionStub . '-showmax'); if ($showAllParam == 1) { $count = $showMaxParam; } //first loop through for information $actualPositions = array(); foreach ($positions as $position) { if ($showAllParam == 1 and $poscount++ > $showMaxParam) { break; } $contents = ''; $aliasKey = array_search($position, $gantry->_aliases); $features = $gantry->getFeaturesForPosition($position); if ($aliasKey) { $alias = $gantry->getFeaturesForPosition($aliasKey); if (count($alias)) { foreach ($alias as $a) { array_push($features, $a); } } } $modules = JModuleHelper::getModules($position); if (!empty($features) && count($features) > 0) { foreach ($features as $feature_name) { $feature = $gantry->getFeature($feature_name); $rendered_feature = $feature->render($position); if (!empty($rendered_feature)) { $contents .= $rendered_feature . "\n"; } } } if (!empty($modules) && count($modules) > 0) { $shortname = $gantry->getShortName($position); $contents .= '<jdoc:include type="modules" name="' . $position . '" style="' . $chrome . '" />' . "\n"; } $position_renders[$position] = $contents; } $position_renders = array_filter($position_renders, create_function('$o', 'return !empty($o);')); $position_renders_keys = array_keys($position_renders); $end = end($position_renders_keys); $start = reset($position_renders_keys); $prefixCount = 0; // If RTL then flip the array if ($gantry->document->direction == 'rtl' && $gantry->get('rtl-enabled')) { $positions = array_reverse($positions); if ($showAllParam == 1 && count($positions) > $showMaxParam) { $new_positions = array(); for ($i = $showMaxParam; $i > 0; $i--) { $poped = array_pop($positions); array_unshift($new_positions, $poped); } $positions =& $new_positions; } } foreach ($positions as $position) { $contents = ""; if (array_key_exists($position, $position_renders)) { $contents = $position_renders[$position]; } $extraClass = ''; if ($position == $start) { $extraClass = " rt-alpha"; } if ($position == $end) { $extraClass = " rt-omega"; } if ($position == $start && $position == $end) { $extraClass = " rt-alpha rt-omega"; } if ($showAllParam == 1 && empty($contents)) { $prefixCount += $gantry->getPositionSchema($position, $gridsize, $count, $index); $index++; } else { if (!empty($contents)) { // Apply chrome and render module $paramSchema = $gantry->getPositionSchema($position, $gridsize, $count, $index); if ($paramSchema) { $output .= $gantry->renderLayout('mod_' . $layout, array('contents' => $contents, 'gridCount' => $paramSchema, 'prefixCount' => $prefixCount, 'extraClass' => $extraClass)); } $prefixCount = 0; // reset prefix count $index++; } } } return $output; }
/** * @param $positionStub * @param string $layout * @param string $chrome * @param string $gridsize * @param null $pattern * * @return string */ public function displayModules($positionStub, $layout = 'standard', $chrome = 'standard', $gridsize = GRID_SYSTEM, $pattern = null) { if (defined('GANTRY_FINALIZED')) { return ''; } gantry_import('core.renderers.gantrymodulesrenderer'); return GantryModulesRenderer::display($positionStub, $layout, $chrome, $gridsize, $pattern); }
function displayModules($positionStub, $layout = 'standard', $chrome = 'standard', $gridsize = GRID_SYSTEM, $pattern = null) { gantry_import('core.renderers.gantrymodulesrenderer'); return GantryModulesRenderer::display($positionStub, $layout, $chrome, $gridsize, $pattern); }