it-swarm-ko.tech

Zen 하위 테마에 추가 사이드 바를 추가하려면 어떻게합니까?

고정 열이있는 선 기반 테마에 추가 사이드 바를 추가하고 싶습니다.
테마 정보에 추가하고 page.tpl.php 파일에 인쇄했지만 CSS 파일을 올바르게 구성하는 방법을 모르겠습니다. Zen과 같이 블록이없는 빈 영역이있을 때 사용 가능한 공간을 채우기 위해 콘텐츠 영역을 확장하는 방법을 모르겠습니다.

내 테마에는 4 개의 열이 있습니다.

  • 왼쪽 사이드 바 1 (130 픽셀)
  • 왼쪽 사이드 바 2 (255 픽셀)
  • 콘텐츠 (509 픽셀)
  • 오른쪽 사이드 바 (130 픽셀)

총 너비는 1024 픽셀입니다.

어떻게 할 수 있습니까?

4

Template.php 템플릿에서 전처리 기능으로 할 수 있습니다. 한 가지 예만 쓰면 필요에 맞게 조정할 수 있습니다.

1. template.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; ?>
1
user1513