This has been a known issue since the first version of the 2.x line for Omega in Drupal 7.
Setting up a renderable array on the theme layer was a challenge, but it must be in place to allow proper usage of hook_page_alter, and all preprocess/process hooks in Omega subthemes.
This has been solved on the github master branch, and will be in the Beta1 release forthcoming.
The following changes MUST be made to any subthemes that have been created from Omega.
Original page.tpl.php:
<div id="page" class="clearfix">
<?php if (isset($zones_above)): ?>
<div id="zones-above" class="clearfix"><?php print $zones_above; ?></div>
<?php endif; ?>
<div id="zones-content" class="clearfix">
<?php if (isset($action_links)): ?>
<div id="actions-container" class="container-<?php print $default_container_width; ?> clearfix">
<div class="grid-<?php print $default_container_width; ?>">
<ul class="action-links">
<?php print render($action_links); ?>
</ul>
</div>
</div>
<?php endif; ?>
<?php if (isset($messages)): ?>
<div id="message-container" class="container-<?php print $default_container_width; ?> clearfix">
<div class="grid-<?php print $default_container_width; ?>">
<?php print $messages; ?>
</div>
</div><!-- /.container-xx -->
<?php endif; ?>
<?php if (isset($content_zone)): ?>
<?php print $content_zone; ?>
<?php endif; ?>
</div>
<?php if (isset($zones_below)): ?>
<div id="zones-below" class="clearfix"><?php print $zones_below; ?></div>
<?php endif; ?>
</div><!-- /#page -->
New page.tpl.php:
<div id="page" class="clearfix">
<?php if (isset($page['zones_above'])): ?>
<div id="zones-above" class="clearfix"><?php print render($page['zones_above']); ?></div>
<?php endif; ?>
<div id="zones-content" class="clearfix">
<?php if (isset($action_links)): ?>
<div id="actions-container" class="container-<?php print $default_container_width; ?> clearfix">
<div class="grid-<?php print $default_container_width; ?>">
<ul class="action-links">
<?php print render($action_links); ?>
</ul>
</div>
</div>
<?php endif; ?>
<?php if (isset($messages)): ?>
<div id="message-container" class="container-<?php print $default_container_width; ?> clearfix">
<div class="grid-<?php print $default_container_width; ?>">
<?php print $messages; ?>
</div>
</div><!-- /.container-xx -->
<?php endif; ?>
<?php if (isset($page['content_zone'])): ?>
<?php print render($page['content_zone']); ?>
<?php endif; ?>
</div>
<?php if (isset($page['zones_below'])): ?>
<div id="zones-below" class="clearfix"><?php print render($page['zones_below']); ?></div>
<?php endif; ?>
</div><!-- /#page -->
Summary of Changes:
- Zone group name changes
- $zones_above => $page['zones_above']
- $content_zone => $page['content_zone']
- $zones_below => $page['zones_below']
- Render function must now be called on all of these items.
This change is all that is required in order to use the Beta version of Omega with subthemes created in the alpha stage. A quick edit to page.tpl.php in your subthemes will take care of everything. Please refer to the templates in the Omega Starterkit for proper structure.
I have tested this "upgrade" on about 6 sites right now using an alpha version of Omega, and it is the only modification that must happen for subthemes to be working as expected again.
Comments
Comment #1
himerus commentedMarking fixed. Please create new issues if you have issues with upgrades from alpha to beta