Я работал над несколькими проектами с 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;
}
Это похоже на хакерский способ делать вещи, каков правильный друпал?
Может быть, вы имеете в виду использование тематического слоя drupal? Это позволяет использовать файлы .tpl и переопределять. У меня есть простой модуль блока, который делает это Вот Источник Вот.
Вот некоторая документация по использованию слоя темы в модуле
Вот это некоторые официальные документы Drupal по тематике (в основном темы, а не использование слоя темы в модуле).
Других решений пока нет …