在 Drupal 的自定义模块中输出 html 的正确方法是什么
Whats the correct way of outputting html in a custom module in Drupal
我用 drupal 做过几个项目,我在学习时得到的主要建议是使用视图来输出你的数据,虽然这对某些项目来说很好我发现在设置时间和设置样式控件太有限了。
我想知道这样做有什么问题,或者这样做对吗?
你运行一个查询得到你想要的特定数据。
function custom_block_get_item($nid){
$result = db_query("SELECT `field_custom_item` FROM {field_data_field_custom_item} WHERE entity_id = :entity_id",
array(
':entity_id' => $nid,
));
return $result;
}
然后循环创建 html
function custom_block_display_blurb($nid){
$html='<div id="blurb_wrapper"><div id="recent_projects_blurb">';
$result=custom_block_get_blurb($nid);
while($row1 = $result->fetchAssoc()){
$a=check_markup($row1['field_custom_item'],'full_html','','');
$html.='
<span class="recent_project_text">'.
$a.'</span>';
}
$html.='</div></div>';
return $html;
}
最后显示出来
function custom_block_block_view($delta=''){
if (arg(0) == 'node' && is_numeric(arg(1))) $nodeid = arg(1);
switch($delta) {
case 'custom_block':
$block['content'] = custom_block_display_blurb($nodeid);
break;
}
return $block;
}
这似乎是一种 hacky 的做事方式,正确的 drupal 方式是什么?
我用 drupal 做过几个项目,我在学习时得到的主要建议是使用视图来输出你的数据,虽然这对某些项目来说很好我发现在设置时间和设置样式控件太有限了。
我想知道这样做有什么问题,或者这样做对吗?
你运行一个查询得到你想要的特定数据。
function custom_block_get_item($nid){
$result = db_query("SELECT `field_custom_item` FROM {field_data_field_custom_item} WHERE entity_id = :entity_id",
array(
':entity_id' => $nid,
));
return $result;
}
然后循环创建 html
function custom_block_display_blurb($nid){
$html='<div id="blurb_wrapper"><div id="recent_projects_blurb">';
$result=custom_block_get_blurb($nid);
while($row1 = $result->fetchAssoc()){
$a=check_markup($row1['field_custom_item'],'full_html','','');
$html.='
<span class="recent_project_text">'.
$a.'</span>';
}
$html.='</div></div>';
return $html;
}
最后显示出来
function custom_block_block_view($delta=''){
if (arg(0) == 'node' && is_numeric(arg(1))) $nodeid = arg(1);
switch($delta) {
case 'custom_block':
$block['content'] = custom_block_display_blurb($nodeid);
break;
}
return $block;
}
这似乎是一种 hacky 的做事方式,正确的 drupal 方式是什么?