Drupal 7 开发内部培训资料, 分头诗人

用views做的一个block公告区块,能不能让它每隔1分就自动异步刷新下?

赞成!
0
否决!

我用views做的一个block公告区块,能不能让它每隔1分就自动异步刷新下?

3 个回答

赞成!
0
否决!

试一下 Block Refresh

赞成!
0
否决!

这个好像不能达到效果,我想要的是用views做成的那个区块在前台显示页每隔一段时间有自动刷,就像ajax异步刷那个意思,

赞成!
0
否决!

了解你意思了,如果Block Refresh 不能满足,可以用ajax实现,这里给一个例子:

PHP:

function my_module_block_view($delta=''){
    switch($delta){
        case 'my_module':
            $block['subject'] = t('Teamie Tips');
            $block['content'] = my_module_block_content($delta);
            return $block;
        }

 }

 /*
  * tips block content function
  */
 function my_module_block_content($delta){
    $output = "<div id='divTip'>".getrandomtip()."</div>";
    $output .="<a id='NextTipLink' href='tips/reload'>Next</a>";
    return array('#markup'=>$output);
 }

  function reload_tip(){
    $tip = getrandomtip();

    return drupal_json_output(array('nexttip'=>$tip));
    exit;
 }

 function my_module_theme(){
    return array(
        'my_module_javascript'=>array('arguments'=>array(),),
    );
 }

 function my_module_init(){
    theme('my_module_javascript');
 }

 function theme_my_module_javascript(){
    $jsfile = drupal_get_path('module','my_module').'/my_module.js';
    drupal_add_js($jsfile);
 }

 

JS:

(attach:function ($) {Drupal.behaviors.my_module = {function (context){
    $('a#NextTipLink').click(function(){
        var nextTip = function(data){
            $("#divTip").html(data.nexttip);
        }
        $.ajax({
            type:'POST',
            url:this.href,
            success:nextTip,
            data: 'js=1',
            dataTupe:'json',
        });
        return false;
    });

}};})(jQuery);