我和drupal合作了一些项目,我在学习时得到的主要建议就是使用Views来输出数据,虽然这对于某些项目来说很好,但我觉得在设定时间内实现我的项目要求很麻烦对它进行设计,控件太有限了。
我想知道这样做有什么不对,或者这样做是对的吗?
您运行查询以获取所需的特定数据。
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方式是什么?