문제

누구든지 view .tpl.php 파일에 영역을 포함시키는 방법에 대한 아이디어가 있습니까?

나는 이와 같은 것을 다음에 추가하여 노드에서 충분히 쉽게 달성합니다. theme_preproces_node():

$vars['promos'] = theme('blocks', 'promos');

전혀 문제가 없습니다. 그러나 분명히는 없습니다 theme_preprocess_view() 기능을하고 동일한 스 니펫을 추가하려고 할 때 메모리 오류가 발생합니다. theme_preprocess().

치명적인 오류 : 104857600 바이트의 메모리 크기 허용/users/cpharmston/sites/projects/threespot/neh01/includes/database.mysqli.inc 42에서 소진 (523800 바이트를 할당하려고 시도).

난 그만 둔다. 어떤 아이디어?

감사!

도움이 되었습니까?

해결책

'빠르고 더러운'방법 : 당신은 그냥 넣을 수 있습니다 theme('blocks', [region_name]) views .tpl.php 파일로 직접 호출하십시오.

전처리 함수는 '비즈니스'로직 대 '디스플레이'로직을 더 잘 분리하는 것을 목표로하지만 어떤 식 으로든 필요하지 않으므로 원하는 방식으로 사용자 정의 코드를 .tpl.php 파일에 넣을 수 있습니다.

'적절한 방법: 거기 ~이다 뷰의 전처리 기능은 하나 이상입니다. views 모듈의 테마 .inc 파일을 살펴보십시오. 거기에는보기 (예 : 'formatted'vs. 'table'vs. 'list'등)가 사용할 수있는 다른 템플릿에 대해 다른 전처리 기능이 있습니다. 새 변수를 주입하려는보기 템플릿과 관련된 것을 찾아야합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top