문제

우리는 Drupal에 매우 콘텐츠가 풍부한 사이트를 구축하고 있습니다. 처음으로 일하는 것이 처음입니다. 이 사이트에는 각각 다른 레이아웃이있는 다양한 섹션이 있습니다. phptemplate_preprocess_page () 메소드를 통해 page.tpl.php를 결정할 계획입니다.

내 질문은 주어진 페이지의 다른 2 차 콘텐츠 덩어리를 넣을 위치를 가장 잘 지정하는 방법입니다. 우리는 많은 작은 목록이나 이미지 그룹이있는 많은 사이드 바 형식 구성 요소를 가지고 있습니다. 여기서 가장 좋은 방법은 필요에 따라 여러 영역을 정의하고 (뷰 모듈 사용)이 지역으로 사용자 정의보기를 떨어 뜨리는 것입니다. 합리적으로 보입니까?

업데이트:

보기를 쿼리로 취급하는 것 - 저를 혼란스럽게하는 것은보기에 외관을 수정할 수있는 옵션도 있다는 것입니다. 뷰에서 노드 배열을 다시 얻을 수 있으므로 포맷 된 마크 업이 아닌 PHP의 데이터에서 작동 할 수있는 것이 좋습니다. 그게 가능합니까?

도움이 되었습니까?

해결책

Rishavs (올바른) 답변을 약간 확장하려면 블록은 영역을 채우는 '표준'요소입니다. Page.tpl.php의 영역은 광범위한 일반 레이아웃 (예 : 헤더, 일부 열/사이드 바 및 바닥 글 -필요한 모든 것)을 정의합니다. 한 지역 내에서는 한 가지 (예 :보기) 만 배치 할 수 있지만 일반적으로 여러 블록의 형태로 더 많이 배치 할 수 있습니다. 지역에 나타나는 순서는 블록 무게에 의해 결정됩니다.

'기본'보기 정의에 유형 블록의 디스플레이를 추가하여 뷰 모듈에서 직접 블록을 만들 수 있습니다. 또한 정의하는 모든 메뉴는 블록으로 제공됩니다. 또한 사용자 정의 모듈 내에 자신의 블록을 만들기 위해 매우 간단합니다. 내용을 완전히 제어 할 수 있습니다 ( hook_block() 이것을 위해). 예를 들어, 양식을 블록에 넣을 수 있습니다 (표준 Drupal 설치의 로그인 블록은 이에 대한 예입니다).

다른 팁

예, 사용자 정의 영역을 사용하여 사용자 정의 뷰를 떨어 뜨릴 수 있습니다.

사용자 정의 블록 생성을 사용하고 뷰를 사용할 수도 있습니다.

그것은 당신이 가진 레이아웃의 구조에 따라 다릅니다.

보기 (콘텐츠 목록)는 데이터베이스 쿼리입니다. 영역은 페이지의 영역입니다 (왼쪽 사이드 바, 바닥 글 등). 영역은 페이지 템플릿 (tpl.php)에 할당되며 사용중인 테마에 따라 다릅니다. 일반적으로 2 차 컨텐츠 (뷰에 국한되지 않음)는 블록을 통해 배치됩니다. 블록은 지역에 할당 될 때 표시됩니다 ( "오른쪽 사이드 바"의 "새로운 사용자"). 또한 뷰는 페이지 템플릿 (지역 외부의 내부)에 포함될 수도 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top