2016-10-03 5 views
1

나는이 주제를 처음 접했고이 코드를 상속했다. 나는 #output을 인쇄하는 곳과 방법을 제어 할 필요가 있지만 HTML 태그 위의 페이지 상단에 항상 표시됩니다. 렌더링 가능한 배열 API를 살펴 보았지만 문제에 대한 구체적인 것을 찾을 수 없었습니다.콘텐츠 배열 속성에서 html을 출력하는 방법은 무엇입니까?

mytheme.module에서

:

<?php print $output; ?> 

을하지만 무시됩니다 :

function mytheme_output_block() { 
    $content = array(
    '#theme' => 'my_theme', 
    '#output' => function_that_returns_JSON(); 
    ... 

function mytheme_hook_theme() { 
    return array(
    'my_theme' => array(
     'vars' => array(
     'output' => '', 
    ... 

을 그리고는 my_theme.tpl.php에 나는 시도했다. 스타일을 지정할 수 있도록 #output을 어떻게 제어하나요?

+0

특히 my_theme.tpl.php에서 더 완벽한 코드 세트를 게시 할 수 있습니까? – Matz

+0

사실은 아니지만 (지금까지는 출력물 출력에만 관심이 있었기 때문에 나머지는 중요하지 않습니다.) – user3052659

답변

0

확실하지 않지만 배열 요소를 직접 호출해야 할 수 있습니다. 뭔가 같은 :

$theme = mytheme_hook_theme(); 
echo $theme['output']; 

은 드루팔은 사용

0

도움이되기를 바랍니다? 나는 D7을 추측한다.

이 hook_theme의 문서에서 살펴 보자 : https://api.drupal.org/api/drupal/modules%21system%21system.api.php/function/hook_theme/7.x

  1. 그것은 vars 아니다 - 그것은 variables
  2. 당신은 템플릿

    구현에 template 키를 놓친의 : 지정한 경우, 이 테마 구현은 템플릿이며 이것은 확장자가없는 템플릿 파일입니다. 이 파일에 .tpl.php를 넣지 마십시오. 그 확장은 기본 렌더링 엔진 (PHPTemplate)에 의해 자동으로 추가됩니다. 위의 'path'가 지정되면 템플리트도이 경로에 있어야합니다.

    function mytheme_hook_theme() { 
        return array(
        'my_theme' => array(
         'variables' => array(
         'output' => '', 
        ), 
         'template' => 'my-theme', 
        ... 
    

    나중에 캐시를 지우려면 기억처럼

그래서 훅이 보일 것입니다 무엇.

관련 문제