在#prefix中使用HTML標記時,它們應該用#suffix關閉。 您是否記得關閉#prefix中的內容?
像這樣:
$data = array(
'#type' => 'markup',
'#prefix' => '<div>',
'#markup' => theme('table', array('header' => $header, 'rows' => $rows)),
'#suffix' => '</div>',
);
編輯
爲了控制輸出爲HTML而不是呈現陣列的一個可以使用hook_block_view()鉤喂$塊[ '內容']用純HTML而不是渲染數組。 According to the documentation $ block ['content']可以處理這兩種類型的輸入。
function modulename_block_view($delta='') {
$block = array();
switch($delta) {
case 'block_name' :
$block['content'] = '<div>Content before</div>';
$block['content'] .= theme('table', array('header' => $header, 'rows' => $rows));
$block['content'] .= '<div>Content after</div>';
break;
}
return $block;
}
如果你不想使用塊視圖鉤我想你可以渲染渲染陣列,以這種方式來代替:
$render_array = array(
'#type' => 'markup',
'#markup' => theme('table', array('header' => $header, 'rows' => $rows)),
);
$before = '<div>Content before</div>';
$after = '<div>Content after</div>';
$data = $before.render($render_array).$after;
return $data;
的參考見render()。 還請記住清除您的緩存,如this answer中所述。
這並不能真正回答我的問題。我明白你在說什麼,但我試圖用前綴來達到不同的目的;目的是我需要幫助:添加更多的HTML到塊,除了主題呈現表。儘管如此,我很欣賞這一努力。 我想要做的是,例如在塊的表格之前或之後添加一些文本。 – UnsettlingTrend 2013-02-14 18:53:04
啊,我明白了。 - 我編輯了我的答案,試圖反映你的細化。 – Larpon 2013-02-26 14:43:32