Support Center

How to add 3 columns support to the Pressblog theme

Last Updated: Feb 09, 2014 01:20AM EET
Our Premium Drupal theme Pressblog is a stylish and responsive workhorse for presenting your content. This is ideal for news and academic websites and comes with multiple color & font styles.



Pressblog theme comes by design with 2-columns layout support. This means that we have enabled and we are printing only the Sidebar First region. Following the instructions of this article, you can add 3-columns layout support to the Pressblog theme and much more.

Please just make the following changes:

1. Update the pressblog.info file by including the regions[sidebar_second] = Second Sidebar
- Print the second sidebar regions[sidebar_second] under the first sidebar regions[sidebar_first]. Finally, your pressblog.info should have the following structure:
 
.
.
regions[sidebar_first] = First Sidebar
regions[sidebar_second] = Second Sidebar
.
.

2. Update your main page template page.tpl.php
- Print the second sidebar and move the first sidebar above the main content
- Add new page variables sidebar_first_grid_class, sidebar_second_grid_class and main_grid_class instead of the custom grid classes Finally, your page.tpl.php should have the following structure into the div with id content (<div id="content" class="grid_12 clearfix">):
 
.
.
<?php if ($page['sidebar_first']): ?>
<div class="<?php print $sidebar_first_grid_class; ?>">
    
    <?php print render($page['sidebar_first']); ?>
    
</div>
<?php endif; ?>

<div class="<?php print $main_grid_class; ?>">
    <div class="grid-fix">
     // KEEP THE SAME CODE
    </div>
</div>
 
<?php if ($page['sidebar_second']): ?>
<div class="<?php print $sidebar_second_grid_class; ?>">
    
    <?php print render($page['sidebar_second']); ?>
    
</div>
<?php endif; ?>
.
.

3. Update the template.php file
- Use the pressblog_preprocess_page function in order to initialize your custom page variables

function pressblog_preprocess_page(&$variables)  {

    if($variables['page']['sidebar_first'] && $variables['page']['sidebar_second']) { 
        $variables['sidebar_first_grid_class'] = 'grid_3 alpha';
        $variables['main_grid_class'] = 'grid_6';
        $variables['sidebar_second_grid_class'] = 'grid_3 omega';
    } elseif ($variables['page']['sidebar_first'] && !$variables['page']['sidebar_second']) {
        $variables['sidebar_first_grid_class'] = 'grid_4 alpha';
        $variables['main_grid_class'] = 'grid_8 omega';
    } elseif (!$variables['page']['sidebar_first'] && $variables['page']['sidebar_second']) {
        $variables['main_grid_class'] = 'grid_8 alpha';
        $variables['sidebar_second_grid_class'] = 'grid_4 omega';        
    } else {
        $variables['sidebar_first_grid_class'] = '';
        $variables['main_grid_class'] = '';
        $variables['sidebar_second_grid_class'] = '';            
    }

}

4. Clear all caches
- Clear the system cache through Drupal’s User interface Home » Administration » Configuration » Performance  

Layout in mobile widths

In many cases there is a need to print your main content above your first sidebar in mobile widths. In this case just make the following changes:

1. Update your main page template page.tpl.php
- Print the first sidebar under the main content. Finally, your page.tpl.php should have the following structure into the div with id content (<div id="content" class="grid_12 clearfix">):
 
.
.
<div class="<?php print $main_grid_class; ?>">
    <div class="grid-fix">
     // KEEP THE SAME CODE
    </div>
</div>

<?php if ($page['sidebar_first']): ?>
<div class="<?php print $sidebar_first_grid_class; ?>">
    
    <?php print render($page['sidebar_first']); ?>
    
</div>
<?php endif; ?>
 
<?php if ($page['sidebar_second']): ?>
<div class="<?php print $sidebar_second_grid_class; ?>">
    
    <?php print render($page['sidebar_second']); ?>
    
</div>
<?php endif; ?>
.
.

2. Update the template.php file
- Make the following changes to the pressblog_preprocess_page function

function pressblog_preprocess_page(&$variables)  {

    if($variables['page']['sidebar_first'] && $variables['page']['sidebar_second']) { 
        $variables['sidebar_first_grid_class'] = 'grid_3 alpha pull_6';
        $variables['main_grid_class'] = 'grid_6 push_3';
        $variables['sidebar_second_grid_class'] = 'grid_3 omega';
    } elseif ($variables['page']['sidebar_first'] && !$variables['page']['sidebar_second']) {
        $variables['sidebar_first_grid_class'] = 'grid_4 alpha pull_6';
        $variables['main_grid_class'] = 'grid_8 omega push_3';
    } elseif (!$variables['page']['sidebar_first'] && $variables['page']['sidebar_second']) {
        $variables['main_grid_class'] = 'grid_8 alpha';
        $variables['sidebar_second_grid_class'] = 'grid_4 omega';        
    } else {
        $variables['sidebar_first_grid_class'] = '';
        $variables['main_grid_class'] = '';
        $variables['sidebar_second_grid_class'] = '';            
    }

}


In case this article leaves any of your questions or concerns unanswered, please feel welcome to email us or post a public question.

​More than (just) Themes
http://www.morethanthemes.com/

Contact Us

[email protected]
http://assets0.desk.com/
false
morethanthemes
Loading
seconds ago
a minute ago
minutes ago
an hour ago
hours ago
a day ago
days ago
about
false
Invalid characters found
/customer/en/portal/articles/autocomplete