it-swarm-ko.tech

테마에서 사용자 정의 영역을 작성하는 방법

사이트 전체에 새로운 영역을 추가하고 싶습니다. 이 새로운 지역을 내 테마로 만드는 과정을 설명하고 가능하면 새로운 사용자 정의 지역을 추가하기 위해 일반화하십시오.

58
palbakulich

테마 .info 파일에서 영역을 정의합니다. 참조 : . info 파일의 구조

그런 다음 관련 템플릿 태그를 page.tpl.php 파일에 넣어야합니다.

예를 들어 테마 .info 파일에서 sidebar 영역을 정의한 경우 <?php print render($page['sidebar']); ?>을 page.tpl.php의 관련 위치에 추가하십시오.

68
Camsoft

다른 요점 : 필요한 지역을 놓치지 마십시오!

regions[content] = Content
regions[help] = Help
regions[page_top] = Page top
regions[page_bottom] = Page bottom

자세한 내용은 http://drupal.org/update/themes/6/7#closure 에서 찾을 수 있습니다.

이 시점에서 명확히하려면 : 자신의 지역을 정의하는 경우 필요한 지역을 포함하여 사용중인 모든 지역을 정의해야합니다. 다시 말해, 추가 영역을 정의 할 수는 없습니다. 정의한 영역을 모두 정의해야합니다.

20
laura

Drupal 7 테마에 대한 영역을 작성하는 것은 Drupal 6 영역에 대한 영역을 작성하는 것과 다르지 않습니다. Drupal 7과 이전 버전의 차이점은 다음과 같습니다.

  • 영역은 Drupal 5에서와 같이 mytheme_regions() 함수를 사용하여 정의되지 않지만 regions[] 지시문을 사용하여 mytheme.info에 정의됩니다. Drupal 6 테마로도 완료되었습니다.
  • 영역은 변수의 내용을 인쇄하는 대신 Drupal 함수 render()을 사용하여 렌더링됩니다.

기본 Drupal 7 영역은 다음과 같습니다.

regions[header] = Header
regions[highlighted] = Highlighted
regions[help] = Help
regions[content] = Content
regions[sidebar_first] = Left sidebar
regions[sidebar_second] = Right sidebar
regions[footer] = Footer

Drupal 7 핵심 테마에는 이제 Drupal 6; 또한 기본적으로 Drupal 6에서 사용하는 $help 변수와 동일한 내용을 갖는 'help'라는 영역이 포함됩니다.

9
kiamlaluno

테마 영역은 테마 .info 파일에 정의되어 있습니다. docs 를 참조하십시오. 코너 지역을 얻으려면 regions[corner] = Corner로 줄을 추가하십시오.

그런 다음 page.tpl.php 파일을 편집하고 영역을 표시 할 위치에 <php print render($corner); ?>를 추가해야합니다. 테마에 page.tpl.php가없는 경우 기본 테마 또는 시스템 모듈에서 복사하십시오.

일반적인 함정 :

  • Theme.info 파일에 선언 된 영역이없는 경우 Drupal 기본 영역을 사용하는 것입니다. 추가하려면 기본 영역을 다시 선언해야합니다. 물론, 영역을 제거하되 필요한 영역을 지원하십시오 docs 를 다시 참조하십시오.

  • .info 파일에 대한 변경 사항 또는 테마에 새 파일 추가 (예 : page.tpl.php)는 캐시를 지운 후에 만 ​​나타납니다.

  • 매우 인기있는 기본 테마 인 Omega는 .info 파일 만 page.tpl.php를 변경할 필요가 없습니다. 그러나 UI의 테마 설정을 방문하여 지역을 영역에 할당해야합니다.

4
Capi Etheriel

테마에서 사용자 정의 영역을 만들려면 다음 단계를 따르십시오.

  1. Theme.info 파일로 이동하여이 행을 추가하십시오.

    regions[machine_name_of_your_region] = Name of your region
    
  2. 노드 템플릿에서도 영역 블록을 호출 할 수도 있지만 일반적으로 테마의 페이지 템플릿에 영역을 추가합니다. 일반적으로 page.tpl.php이거나 다른 페이지에 대한 사용자 정의 템플릿 파일이있는 경우 해당 파일도 편집하십시오. 새 영역은 새 영역을 추가 한 템플릿 주위에 구축 된 페이지에만 나타납니다. 새 지역을 표시 할 위치에 붙여 넣습니다.

    <?php if ($page['machine_name_of_your_region']): ?>
      <div id="sidebar-first" class="column sidebar"><div class="section">
      <?php print render($page['machine_name_of_your_region']); ?>
      </div></div> <!-- /.section, /#sidebar-first -->
     <?php endif; ?>
    
  3. 구성-성능-모든 캐시 지우기

2
Astha chauhan

테마에서 새 지역 만들기

두 파일로 정의하면됩니다.

  • Theme.info
  • Page.tpl.php

Theme.info

;;;;;;;;;;;;;;;;;;;;;
;; Regions
;;;;;;;;;;;;;;;;;;;;;

regions[navigation]      = 'Navigation'
regions[header]          = 'Top Bar'
regions[highlighted]     = 'Highlighted'
regions[new_region_name] = 'Region Name' ;; Add New Region

Page.tpl.php

이제이 지역을 렌더링

  <?php if ($page['new_region']): ?>
      <div class="new_region_class">
        <?php print render($page['new_region']); ?>
     </div>
  <?php endif; ?>

이제 모든 캐시를 지 웁니다. 이제 테마에 새로운 지역이 있습니다. 블록 구성 페이지에서 볼 수 있습니다.

더 방문하려면 http://drupal.org/node/171205

0
gsjha