固定列のあるzenベースのテーマにサイドバーを追加したい。
テーマ情報に追加して、page.tpl.phpファイルに印刷しましたが、CSSファイルを構成して正しく表示する方法がわかりません。 Zenのように、ブロックのない空の領域がある場合に、コンテンツ領域を拡張して使用可能なスペースを埋める方法がわかりません。
私のテーマには4つの列があります。
全幅は1024ピクセルになります。
どうやってやるの?
これは、template.phpテンプレートの前処理関数で実行できます。私はあなたに一つの例を書きます、そしてあなたはあなたのニーズにそれを適応させることができます。
1.At Yourtemplate.phpテンプレート。
function yourthemename_preprocess_page(&$vars, $hook) {
$page = $vars['page'];
// if only left sidebar is present
if ($page['left_sidebar'] && !$page['left_sidebar2'] && !$page['right_sidebar']) {
$vars['class_content'] = t('yourclassforcontentwithsidebar');
$vars['class_left_sidebar'] = t('yourclassforleftsidebar');
}
// if no sidebar is present
if (!$page['sidebar_left'] && !$page['left_sidebar2'] && !$page['right_sidebar']) {
$vars['class_content'] = t('yourclassforfullwidhtcontent');
}
}
あなたはここでより多くのバリエーションを見つけることができます: php論理演算子 。
2.page.tpl.phpで、幅を柔軟にしたいすべての領域に、左サイドバーなどの追加のクラスを配置します。
<?php if ($page['left_sidebar']): ?>
<div id="left_sidebar" class="sidebar <?php print ($class_left_sidebar);?>" >
<?php print render($page['left_sidebar']); ?>
</div>
<?php endif; ?>