Я работал над несколькими проектами с drupal, и основным предложением, которое я получил, когда я учился, было использование Views для вывода ваших данных, хотя это было хорошо для некоторых элементов Мне было сложно выполнить мои требования к проектам в установленное время, и для того, чтобы стилизовать его, элементы управления были слишком ограничены.Каков правильный способ вывода html в пользовательский модуль в 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? Это позволяет использовать файлы .tpl и переопределять. У меня есть простой блочный модуль, который делает это [здесь] (https://www.drupal.org/sandbox/2pha/ooklastm) Источник [здесь] (http://cgit.drupalcode.org/sandbox-2pha-ooklastm/ tree/ooklastm.module) – 2pha
Благодарим вас за то, что указали на эти функции для меня, я думаю, что это хороший способ сделать это, и он чувствует себя не так, как взломать. Будет ли это считаться надлежащим дряпалом? –
Да, я считаю, что это правильный путь Drupal. Я поставлю его как ответ, чтобы вы могли отметить это как ответ. – 2pha