2010-12-23 4 views
0

레이아웃 용 패널을 사용하는 사이트에서 작업하고 있습니다. 더 간단한 패널 중 하나는 경로를 기반으로 동적으로 변경되는 다른 콘텐트와 함께 사이드 바가있는 노드를 표시하는 데 사용됩니다. 노드와 사이드 바는 항상 같습니다. 노드 ID가 항상 표시되고 변경되지 않는 노드에 대해 10이라고 가정 해 봅시다.특정 경로의 패널 내에서 본문을 재정의하려면 어떻게해야합니까?

특정 경로에 대해서는 노드 구성을 변경하고 싶습니다. 노드는 항상 패널 구성을 통해로드되는 노드입니다.

template.php의 preprocess_page를 사용하고 $ vars [ 'content']를 재정의 한 것으로 생각했지만 전체 패널의 모든 HTML을 포함합니다. 난 단지 패널 내에 항상 포함되어있는 노드의 몸체 만 바꾸고 싶다. $ vars [ 'content'] 내의 html의 작은 조각을 변경하기 위해 $ vars [ 'content']를 모두 덮어 써야하는 것처럼 보이는 것이 과잉입니다.

하나의 경로에 대해서만 패널에 의해 항상로드되는 노드 본문을 업데이트하려면 어떻게해야합니까?

답변

1

URL이 xxx 일 때 해당 패널 페이지에 대한 특수 조건을 만들 수 있습니다.

또 다른 옵션은 전처리 기능으로 노드를 인쇄하는 창을 대체하고 거기에서 html을 변경하는 것입니다. 당신이하려고했던 것과 비슷하게, 당신이 바꾸고 싶은 것을 목표로 삼았습니다.

+0

예, 둘 다 내게 의미가 있지만 둘 중 하나에 대해서는 어떻게할까요? 필자는 패널 사용법에 익숙하지 않았으므로 첫 번째 제안에 대해서는 패널 구성에서 어디에서해야 하는지를 알 수 없었다. 두 번째 제안, 어떤 전처리 함수를 사용할 것인가? 패널 전처리 함수? –

+0

@Mike M : 인터페이스에서 가장 먼저 할 수 있습니다. 주위를 둘러 보면 찾을 수 있어야합니다 (힌트 : 선택 규칙). 두 번째로는 devel_themer를 사용하여 전처리 함수를 호출 할 대상을 찾거나 panels hook_theme 구현에 정의 된 테마 함수를 살펴볼 수 있습니다. – googletorp