2009-09-23 6 views
0

보기를 사용하여 블록을 만들었으며보기 자체에서 얻을 수없는 정보를 추가하려고합니다. 몇 가지 추가 데이터를 쿼리하는 작은 함수를 작성해야합니다.Drupal :보기에 내용 추가

이 함수를 MYTHEME_preprocess_node에 넣을 것을 생각했지만 간단한 $ variables [ 'test'] = 'test'를 입력 한 다음 Block의 내용을 출력하는 .tpl 파일 중 하나에서 print $ test를 수행하면, 아무것도 보여주지 않는다.

올바른 경로에 있습니까?

답변

0

보기 인터페이스에서 Theme Info 옵션을 사용하여보기에서 가져온 템플릿을 식별 할 수도 있습니다. 나는 그 템플릿들을위한 preprocess 기능을 쓸 수 있는지 확신 할 수 없지만, Theme Info에서 제공되는 이름 스키마를 따라 가면서, 당신의 Theme 디렉토리에 View-specific override 템플릿을 만들 수 있습니다.

해당 템플릿에는 SQL 쿼리가 포함될 수 있습니다.

+0

이것은 내가 한 일입니다. 매우 귀엽지는 않지만 작동합니다. 감사 – stef

0

preprocess_ 함수가 특정 템플릿에 묶여있는 것이 중요합니다. 사전 처리 페이지는 page.tpl.php에서 사용 가능한 변수를 생성하고 preprocess_node는 node.tpl.php에서 사용할 변수를 생성합니다. 따라서 모든 템플릿에 대해 실행해야하는 MYTHEME_preprocess를 사용하거나 MYTHEME_preprocess_templatename을 사용할 수 있습니다. 명명 체계가 템플릿 명명 체계와 정확히 일치하는지 잘 모르겠습니다. 그러나 devel 모듈에는 볼 페이지에서 어떤 전처리 함수가 실행되는지 확인할 수있는 옵션이 있습니다.이 함수는 작동에 문제가있는 경우 전처리 함수를 호출하는 것이 무엇인지 파악하는 데 도움이됩니다.