2010-11-27 3 views
0

내가 mytheme의 template.php 넣어 코드드루팔 6 ----- 이유 테마()를 출력 할 수없는

function mytheme_theme(){ 
    return array(
     'mytheme_example' => 'example', 
     'argument' => array('myvar' => null), 
    ); 
    } 

내가 node.tpl.php 넣어 코드

<?php 
$html = ""; 
$myvar = "hello,world"; 
$html .= theme('mytheme_example', myvar); 

    return $html; 
?> 

내가 example.tpl.php

<div> 
    here is the <b><?php print myvar; ?></b>being created. 
    </div> 
내가 캐시를 삭제 한

하지만, 노드 기사의 페이지에 넣어 코드, 안녕하세요 세계에 대해 더 모든 출력이 없습니다.

ps : 어떤 파일에 hook_theme, template.php 모듈 파일을 사용할 수 있습니까? 이 훅을 사용할 수있는 파일이 있습니까?

답변

0

template.php에서 hook_theme을 올바르게 선언 했으므로 문제가 아닌 것 같습니다. 나는 당신의 node.tpl.php와 구문 문제를 발견했다

, 그것은 안 :

<?php 
    $vars = array('myvar' => 'hello, world'); 
    $html = theme('mytheme_example', $vars); 
    return $html; 
?> 

참고 연관 배열의 'myVar에'(hook_theme에 선언 된 변수)로되고있다 열쇠로 전달.

다른 점은 템플리트 파일의 이름을 후크 이름과 동일하게 지정하는 것이 일반적이므로 mytheme-example.tpl.php 템플리트를 호출하는 것이 좋습니다.

자세한 내용

+0

나는 지적한 오류를 수정했지만 여전히 $ myvar의 값을 출력 할 수 없습니다. – runeveryday

+0

연관 배열을 반영하도록 솔루션을 업데이트했습니다. 문제가 있다고 생각하므로 – wiifm

0

아직 그 문제를 해결 한 경우 나도 몰라에 대한 drupal.org를 참조하십시오.

내 테마 이런 식으로 선언하려고 할

:

function mytheme_theme(){ 
    return array(
     'mytheme_example' => array(
     'arguments' => array('arguments'=>array()), 
     'template' => 'example', 
     ), 
    } 

나는 보통 어떻게 그리고 그것은 내게 잘 작동합니다.

+0

코드를 사용해 보았지만 여전히 출력이 없습니다. 해당 지역의 환경에서 코드를 테스트 해보십시오. 고맙습니다. – runeveryday

관련 문제