2013-04-01 61 views
0

我在Drupal实现模块的问题7.Drupal 7的块配置模块

所有模块最初显示块链接到由当前用户做出的五个最新的节点,并且在配置部分用户可以改变节点的数被显示。

我确实设法实现了显示当前用户创建的五个最新节点的块,但我并未管理使块配置正确工作。

首先,我所做的配置形式,它看起来是这样的:

function latest_posts_block_configure($delta = ''){ 
    $form = array(); 
    if($delta == 'latest_posts'){ 
    $form['latest_posts'] = array(
     '#type' => 'select', 
     '#title' => t('Number of recent content items to display'), 
     '#default_value' => variable_get('latest_posts', 3), 
     '#options' => drupal_map_assoc(array(2, 3, 4, 5, 6, 7, 8, 9, 10)), 
    ); 
) 
    return $form 
} 

此块配置表单工作正常,但我不知道如何实现hook_block_save(应该(我猜)适用于配置选择选项形成)。

我的想法是采取从窗体中选择的值,并将其放入提取节点的sql查询,但因为我是drupal初学者,我仍然在努力。

任何人都可以帮助我吗?

+0

除非你想学习,你为什么不使用视图模块?它会处理你的查询。 – TKrugg

回答

2

http://api.drupal.org/api/drupal/modules%21block%21block.api.php/function/hook_block_save/7可以给你一个提示。然后你可以在查询中使用你在配置中设置的变量。

+0

我想出了如何使用hook_block_save获取变量,但我不知道如何用新值更新我的表单(和查询)。我尝试使用hook_block_view_alter,但我的尝试失败。 – Branko

+0

你可能想发布一些关于你迄今为止做了什么的更多细节。和@TKrugg的建议+ 1 – pamatt

+0

我设法解决了这个问题。我实现了hook_block_save(),并且我使用了variable_get/set()来修改查询并更新了hook_block_view() – Branko