2012-05-24 2 views
1

모바일 테마에서 렌더링되지 않는 블록이 포함 된 사이드 바가 있습니다. 그러나 나는 그들 중 일부가 모바일 테마에 대한 사용자 정의 지역에서 렌더링해야합니다. 는 시도 내 page.tpl.php에런타임시 블록 영역 변경 (Drupal 6)

mytheme_preprocess_block(&$vars) { 
    $vars['block']->region = 'my_region'; 
} 

$ my_region 변수는 어떤 이유로 비어 있습니다. 블록에 내용이 있고 영역이 정의되고 유효합니다. 블록 위치를 전환하는 솔루션은 무엇입니까? 많은 감사합니다!

답변

0

정말 이런 식으로 표시해야합니까?

맞춤 모듈을 사용하여 블록을 추가하고 my_region에 hook_block()을 추가하십시오.

모듈 자체의 모바일 테마 조건에 따라 내부에 사용자 정의 PHP 코드를 사용하여 모든 블록 컨텐츠를 표시하십시오. 이 유형의 블록 만 사용 인 경우

  

    $view = views_get_view('view name'); 
    $view->set_display('block_1'); //or the block id in the view 
    $view_block = $view->execute_display('block_1', array()); 
    //pass any arguments if any in the second argument 
    print $view_block['content']; 

:

 

    $block = module_invoke('module_name["block" for blocks created from web interface]', 'block', 'view', 'delta'); 

    print $block['content']; 

가 알려줘

블록이 타입의 뷰의 경우 뷰의 내용을 인쇄하려면 다음 코드를 사용 이것이 혼란 스럽다면.