Drupal Hook_Block_View对按钮点击执行操作

时间:2012-02-28 14:49:37

标签: drupal module drupal-7 hook

我正在学习drupal并且正在尝试为我按照教程制作的模块添加一些额外的功能

我有一个“历史记录”块,显示您查看的最后x个页面。

现在我用按钮'清除历史'创建了第二个块,但我无法弄清楚如何在点击我的按钮时发生set_value('trails_block_history','0')(这会清除我在数据库中的历史)

任何可以帮助我的人?​​

我的块:

    function trails_block_info() {
  $blocks['history'] = array(
    'info' => t('History'),
    'cache' => DRUPAL_NO_CACHE,
  );

  $blocks['clearHist'] = array(
    'info' => t('Clear history'),
    'cache' => DRUPAL_NO_CACHE
  );
  return $blocks;
}

钩子块保存:

function trails_block_save($delta = '', $edit = array()) {
  variable_set('trails_block_num', $edit['trails_block_num']);
  variable_set('trails_block_granularity',$edit['trails_block_granularity']);
}

和问题:

function trails_block_view($delta = '') {    
...
case 'clearHist' :
      {
        $block['subject'] = 'Clear History';
        $block['content'] = '<button>clear history</button>';
      } break;  
...

仍然是一名学生并且对此非常陌生(今天早上开始进行模块编码)很抱歉,如果这看起来像一个愚蠢的问题(很可能是这样)但是我找不到它..

已经在模块上创建了另一个额外的功能,所以我希望这个功能也能正常工作!

1 个答案:

答案 0 :(得分:2)

您应该使用Forms API创建一个带有提交按钮的表单。然后在提交表单时清除您的历史记录。更多信息here和一些示例代码here