2015-04-28 1 views
1

Я работал над несколькими проектами с 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 путь?

+1

Возможно, вы имеете в виду использование слоя темы drupal? Это позволяет использовать файлы .tpl и переопределять. У меня есть простой блочный модуль, который делает это [здесь] (https://www.drupal.org/sandbox/2pha/ooklastm) Источник [здесь] (http://cgit.drupalcode.org/sandbox-2pha-ooklastm/ tree/ooklastm.module) – 2pha

+0

Благодарим вас за то, что указали на эти функции для меня, я думаю, что это хороший способ сделать это, и он чувствует себя не так, как взломать. Будет ли это считаться надлежащим дряпалом? –

+0

Да, я считаю, что это правильный путь Drupal. Я поставлю его как ответ, чтобы вы могли отметить это как ответ. – 2pha

ответ

1

Возможно, вы имеете в виду использование слоя темы drupal? Это позволяет использовать файлы .tpl и переопределять. У меня есть простой блочный модуль, который делает это here Источник here.

Here - это документация по использованию слоя темы в модуле.

Here - это некоторые официальные документы Drupal по теме (в основном темы, а не использование тематического слоя в модуле).