1
我试图创建一个模块,它将显示数据库中的最后一项。我想最后一个条目对象发送到模板文件(留言 - 最后entries.tpl.php),看起来像如何将数据发送到自定义块内容
<p><?php render($title); ?></p>
<?php echo $message; ?>
我有一个实现hook_theme
function guestbook_theme() {
return array(
'guestbook_last_entries' => array(
'variables' => array(
'entries' => NULL,
),
'template' => 'guestbook-last-entries'
),
);
}
一个函数那做预处理
function template_preprocess_guestbook_last_entries(&$variables) {
$variables = array_merge((array) $variables['entries'], $variables);
}
和功能实现hook_block_view
function guestbook_block_view($delta = '') {
switch ($delta) {
case 'guestbook_last_entries':
$block['subject'] = t('Last entries');
$block['content'] = array();
$entries = guestbook_get_last_entries(variable_get('guestbook_m', 3));
foreach ($entries as $entry) {
$block['content'] += array(
'#theme' => 'guestbook_last_entries',
'#entries' => $entry,
);
}
break;
}
return $block;
}
功能,从数据库
function guestbook_get_last_entries($limit = 3) {
$result = db_select('guestbook', 'g')
->fields('g')
->orderBy('posted', 'DESC')
->range(0, $limit)
->execute();
return $result->fetchAllAssoc('gid');
}
但在这种情况下,我得到显示只有一个条目中获取数据。任何人都可以告诉我如何解决这个问题,我应该如何构建$ block ['content']? 谢谢
这是令人尴尬的。现在它的作品,谢谢! – jenush