2012-02-16 2 views
0

노드 유형, 정책, 견적, 고객 등 몇 가지 노드 유형이 있으며 그 각각은 템플리트 파일로 코딩 된 링크 메뉴에 인쇄 된 일련의 조치가 있습니다. 이 메뉴를 블록에 넣어서 위치를 바꿀 수 있기 때문에 블록이 동적이어야합니다.Drupal의 동적 블록

모듈에서 블록을 만들려고했는데 $ block [ 'content']에서는 일련의 동작을 foreach했습니다 ...하지만 먼저 변수를 사용할 수있게 만드는 방법을 찾을 수 없습니다 블록에 그리고 둘째로 어디에서 그렇게 할 것인가.

전 처리 기능을 살펴 보았지만 변수가 템플릿이 아닌 블록으로 전달 된 것만 확인할 수있었습니다. 아무도 여기에 어떤 제안이 있습니까, 그렇지 않으면 그것은 블록이 완전히 격리 된 것 같습니다?

내가 생각한 유일한 다른 방법은 arg()에서 노드 ID를 가져 와서 노드 유형에 따라 switch 문을로드하여 작업을 추가하는 것입니다.하지만 매우 지저분한 것처럼 보입니다. 그리고 그것을 할 수있는 우회 길, 특히 미래 노드 유형을 추가 할 때.

+0

콘텐츠 유형별로 다른 메뉴/작업을 원하십니까? – Ben

답변

0

아마도 이러한 패널을 제공하기 위해 패널을 사용하고 싶을 것입니다.

패널의 패널에서 노드를 "전체 콘텐츠 모드"로 렌더링하면 노드가 자동으로 tpl에서 링크를 얻고 선택적인 디스플레이, 컨텍스트 및 다른 콘텐츠와의 관계에서 더 많은 힘을 얻게됩니다. 그 페이지.

드루팔 (Drupal 8)은 ctools 패널 라우트를 진행하므로 배우는 데 시간을 할애 할 가치가 있습니다. 언제든지 궁금한 점이 있으시면