function display($bodyLayout = 'mainbody', $sidebarLayout = 'sidebar', $sidebarChrome = 'standard', $contentTopLayout = 'standard', $contentTopChrome = 'standard', $contentBottomLayout = 'standard', $contentBottomChrome = 'standard', $grid = null)
 {
     global $gantry;
     global $wp_registered_sidebars, $wp_registered_widgets;
     if ($grid == null) {
         $grid = GRID_SYSTEM;
     }
     // get sidebar count
     $sidebars_widgets = wp_get_sidebars_widgets();
     $sidebarCount = GantryMainBodyRenderer::countSidebars($sidebars_widgets['sidebar']);
     $columnCount = $sidebarCount + 1;
     //here we would see if the mainbody schema was set to soemthing else
     $defaultSchema = $gantry->mainbodySchemas[$grid][$columnCount];
     $mbp = $gantry->get('mainbodyPosition');
     $position = @unserialize($mbp);
     if (!isset($position[$grid]) || !isset($position[$grid]) || !array_key_exists($columnCount, $position[$grid])) {
         $schema = $defaultSchema;
     } else {
         $schema = $position[$grid][$columnCount];
     }
     // If RTL then flip the array
     if (get_bloginfo('text_direction') == 'rtl' && $gantry->get('rtl-enabled')) {
         $schema = $gantry->_flipBodyPosition($schema);
     }
     $classKey = $gantry->_getKey($schema);
     $pushPull = $gantry->pushPullSchemas[$classKey];
     $output = '';
     $sidebars = '';
     $contentTop = null;
     $contentBottom = null;
     $index = 1;
     // remove the mainbody and use the schema array for grid sizes
     $sidebarSchema = $schema;
     unset($sidebarSchema['mb']);
     // Add extra data to sidebar
     $sidebar =& $wp_registered_sidebars['sidebar'];
     $sidebar['layout'] = $sidebarLayout;
     $sidebar['chrome'] = $sidebarChrome;
     // clean to max sidebars
     $filtered_widgets = GantryWidgetsRenderer::filterWidgetCount($sidebars_widgets);
     $widgets = $filtered_widgets['sidebar'];
     if (null == $widgets) {
         $widgets = array();
     }
     // Map widgets to sidebars without the dividers
     $widget_map = array();
     $pos = 1;
     $pos_info_set = false;
     if (get_bloginfo('text_direction') == 'rtl' && $gantry->get('rtl-enabled')) {
         $main_body_pp = array_shift($pushPull);
         $pushPull = array_reverse($pushPull);
         array_unshift($pushPull, $main_body_pp);
     }
     foreach ($widgets as $widget) {
         if (!$pos_info_set) {
             $widget_map[$pos]['gridCount'] = current($sidebarSchema);
             $widget_map[$pos]['pushPull'] = $pushPull[$index++];
             $pos_info_set = true;
         }
         if (preg_match("/^gantrydivider/", $widget)) {
             $pos++;
             $pos_info_set = false;
             next($sidebarSchema);
         } else {
             $widget_map[$pos]['widgets'][$widget] = array('name' => $widget);
         }
     }
     $sidebar['widget_map'] = $widget_map;
     $sidebars = "";
     if (get_bloginfo('text_direction') == 'rtl' && $gantry->get('rtl-enabled')) {
         add_filter('sidebars_widgets', array('GantryMainBodyRenderer', 'invertPositionOrder'));
     }
     add_filter('dynamic_sidebar_params', array('GantryMainBodyRenderer', 'filterWidget'));
     ob_start();
     dynamic_sidebar('sidebar');
     $sidebars .= ob_get_clean();
     remove_filter('dynamic_sidebar_params', array('GantryMainBodyRenderer', 'filterWidget'));
     if (get_bloginfo('text_direction') == 'rtl' && $gantry->get('rtl-enabled')) {
         remove_filter('sidebars_widgets', array('GantryMainBodyRenderer', 'invertPositionOrder'));
     }
     if ($gantry->countModules('content-top')) {
         $contentTop = $gantry->displayModules('content-top', $contentTopLayout, $contentTopChrome, $schema['mb']);
     }
     if ($gantry->countModules('content-bottom')) {
         $contentBottom = $gantry->displayModules('content-bottom', $contentBottomLayout, $contentBottomChrome, $schema['mb']);
     }
     $output = $gantry->renderLayout('body_' . $bodyLayout, array('schema' => $schema, 'pushPull' => $pushPull, 'classKey' => $classKey, 'sidebars' => $sidebars, 'contentTop' => $contentTop, 'contentBottom' => $contentBottom));
     return $output;
 }
Пример #2
0
 /**
  * @param string $bodyLayout
  * @param string $sidebarLayout
  * @param string $sidebarChrome
  * @param string $contentTopLayout
  * @param string $contentTopChrome
  * @param string $contentBottomLayout
  * @param string $contentBottomChrome
  * @param null   $gridsize
  *
  * @return string|void
  */
 public function displayMainbody($bodyLayout = 'mainbody', $sidebarLayout = 'sidebar', $sidebarChrome = 'standard', $contentTopLayout = 'standard', $contentTopChrome = 'standard', $contentBottomLayout = 'standard', $contentBottomChrome = 'standard', $gridsize = null)
 {
     if (defined('GANTRY_FINALIZED')) {
         return '';
     }
     gantry_import('core.renderers.gantrymainbodyrenderer');
     return GantryMainBodyRenderer::display($bodyLayout, $sidebarLayout, $sidebarChrome, $contentTopLayout, $contentTopChrome, $contentBottomLayout, $contentBottomChrome, $gridsize);
 }
Пример #3
0
 function displayMainbody($bodyLayout = 'mainbody', $sidebarLayout = 'sidebar', $sidebarChrome = 'standard', $contentTopLayout = 'standard', $contentTopChrome = 'standard', $contentBottomLayout = 'standard', $contentBottomChrome = 'standard')
 {
     gantry_import('core.renderers.gantrymainbodyrenderer');
     return GantryMainBodyRenderer::display($bodyLayout, $sidebarLayout, $sidebarChrome, $contentTopLayout, $contentTopChrome, $contentBottomLayout, $contentBottomChrome);
 }