0

내 모듈에서 사용자 정의 블록을 정의했으며 사용자가 탐색 메뉴를 사용하여 다른 섹션을 선택하면 해당 블록에 다른 뷰를 표시하려고합니다. hook_block_view()를 사용하면 특정 블록에 대해 렌더링해야하는 내용을 설정할 수 있습니다. 그러나 사용자의 선택에 따라 다른 뷰를 렌더링하려면 어떻게해야합니까?드루팔 (Drupal 7의 사용자 정의 블록 내의 다른 뷰)

예를 들어,

고객이있는 블록이 있습니다.

  • 사용자가 고객 목록 양식 탐색 메뉴를 선택하면 고객 목록에 고객 목록을 표시하려고합니다.

  • 사용자가 특정 고객을 선택하면 해당 고객의 세부 정보를 고객 블록에 표시하려고합니다.

Drupal 7에서 이것을 달성하는 가장 좋은 방법은 무엇입니까?

답변

0

코드에서 블록을 정의하고 사용할보기를 결정할 논리를 사용할 수 있습니다 (PHP 구문의 경우 간단하거나 전환 할 수 있음). 그런 다음 당신은 당신의 논리에 따라 서로 다른보기를 포함 할 수 있습니다 :

https://api.drupal.org/api/views/views.module/function/views_embed_view/7

또는 당신은 당신의 자신에보기 결과와 prent 데이터를 얻을 수 있습니다 :

https://api.drupal.org/api/views/views.module/function/views_get_view_result/7

을 또는 당신이 다른 블록을 만들 수 있습니다 보기로 설정하고 표시 할 페이지를 각각 설정합니다. 블록 설정에서이를 수행하거나보다 복잡한 로직을 위해 컨텍스트 모듈을 사용하여 상황 (페이지, 지금까지 무엇인가)에 따라 적절한 블록을 영역에 배치 할 수 있습니다.

관련 문제