2010-02-17 2 views
0

드루팔 (Drupal)을 사용하여 단 몇 주만에 나는 반복적 인 문제가 생겼다. 나는 이것이 최적의 해결책이 아니라고 생각한다. 그래서 누군가가 여기에 모범 사례 포인터를 줄 수 있기를 바라고있다. .Drupal : node_reference 필드의 블록 내용?

내가 가지고있는 것은 node_reference 유형의 두 가지 CCK 필드의 콘텐츠를 표시하는 블록으로 채워지는 내 node.tpl.php 내에 region입니다. 단일 노드를 표시 할 때이 작동합니다. view을 사용해야하는 경우 문제가 나타납니다.

예를 들어 뉴스 목록과 뉴스 항목보기가 하나 있다고 가정 해 보겠습니다. 단일 뉴스 항목을 표시 할 때 뉴스 노드 node_reference 필드를 사용하여 사이드 바에 넣고 싶은 자료를 참조 할 수 있지만 뉴스 목록보기에서는 노드를 별도로 참조하고 싶습니다. 이 문제를 해결하는 가장 좋은 방법은 무엇입니까?

몇 가지 아이디어가 있지만 논리적 인 선택처럼 보이지 않습니다. 어떻게할까요?

답변

1

내 질문을 읽은 후 나는 그것이 심하게 설명되었다는 것을 깨닫고, 다시 시도 할 것입니다. 또한 어떻게 해결했는지 알려줍니다.

문제점 (단 하나의 노드를 표시) 정상 "페이지"에
을, 나도 무작위 배너와 비슷한 무언가를 보여주는 사이드 바 있고, 아니면 하나를 선택하거나 많은 것을 항상해야 사이드 바에 표시됩니다. 이는 CCK node_reference 필드를 사용하여 단일 노드를 표시 할 때 쉽게 해결됩니다. 내 경우에는

솔루션
listing- 예를 들어, 뉴스를 여러 노드를 표시하는보기를 사용하는 경우 문제는 내가 내 기본 페이지 콘텐츠 형식에 추가 필드를 작성하여이 문제를 해결할 수 있습니다. 이 필드는 view, displayarguments입니다. 그런 다음 내 tpl.php에서 뉴스 목록보기를 페이지 안에 삽입하고 News라고 부를 수 있습니다. 이 방법을 통해 나는 큰 유연성을 얻었으며 뉴스 페이지가 메뉴 구조에서 어디에 위치하는지 알 수 있습니다.

최종 의견
나는 이런 식으로 일을 어떤 단점이나 위험이있는 경우 발견 아직하지만이있는 경우, 저와 함께 공유 할 주시기 바랍니다 :)

1

블록을보기 페이지에 표시하지 않고 블록 정보를 노드와 나란히 표시하려면 문제를 이해해야합니다.

첫 번째 부분은 쉽습니다. 블록 가시성 설정을 수정하여보기가있는 경로에 표시되지 않도록 할 수 있습니다.

두 번째 부분은보기를 설정하는 방법에 따라 다릅니다. 필드를 사용하는 경우 node_reference 필드를 추가하기 만하면 표시됩니다. 노드보기를 사용하는 경우 템플리트를 대체하고 노드 참조 필드를 표시하는 템플리트를 작성해야합니다. 당신은 자세한 설명을 원한다면

의견을 입력하고 난 블록을 만들고 직접 데이터베이스를 참조하는 내 자신의 모듈을 만들려고하는 경향이

0

명확히 할 수 있습니다. 그럼 난 패널의 내부에 블록을 넣어,이보기 및 Cck 필드 등을 사용하여보다 유연한 것 같습니다 ...

관련 문제