EE开发参考

1.upd.article_statistics.php

class Article_statistics_upd {

    var $version        = '1.0';
    var $module_name        = 'Article_statistics';  
    function __construct()
    {
        $this->EE =& get_instance();
    }
    
    function install()
    {
        $this->EE->load->dbforge();
         $data = array(
            'module_name' => $this->module_name ,
            'module_version' => $this->version,
            'has_cp_backend' => 'y',
            'has_publish_fields' => 'n'
        );
    
        $this->EE->db->insert('modules', $data);
        
        $data = array(
            'class'        => $this->module_name ,
            'method'    => 'add'
        );
        $this->EE->db->insert('actions', $data);
        return TRUE;
    }
    
         
    
    function uninstall()
    {
        $this->EE->load->dbforge();
    
        $this->EE->db->where('module_name', $this->module_name);
        $this->EE->db->delete('modules');
    
        $this->EE->db->where('class', $this->module_name);
        $this->EE->db->delete('actions');
    
        
        return TRUE;
    }

    function update($current = '')
    {
        return FALSE;
    }
}

?>

----------------------------------------------------------------------------------------

2.mcp.article_statitics.php

class Article_statistics_mcp {

    var $version        = '1.0';
    var $module_name    = 'Article_statistics';   
    var $cached_vars    = array();
    function __construct()
    {
        $this->EE =& get_instance();
        $this->EE->load->library('table');
        // Some Globals
        $this->base_url = BASE.AMP.'C=addons_modules'.AMP.'M=show_module_cp'.AMP.'module=article_statistics';
         $menu    = array(                                        
            'module_index'            => array(    
                'link'  => $this->base_url,
                'tab_index'  => "",
                'title' => $this->EE->lang->line('module_index')
            ),
        
            'test_list'    => array(
                'link'    => $this->base_url .AMP. 'method=show_list',
                'tab_index'  => "show_list",
                'title' => $this->EE->lang->line('show_list')
            )
        );
        
        $this->cached_vars['module_menu']             = $menu;        

    }
      
    public function index()
    {
        $this->_set_nav_title($this->EE->lang->line("article_statistics_module_name"),$vars);
        return $this->EE->load->view('index', $vars, TRUE);
    }
 
    public function show_list()
    {
        $this->EE->load->library('article_statistics_helper');
        
        $this->_set_nav_title($this->EE->lang->line("article_statistics_module_name"),$data);
        
        $sql="SELECT *
                FROM bv_comments c
               
                WHERE UNIX_TIMESTAMP(DATE_SUB(CURDATE(),INTERVAL 30 DAY)) <=c.comment_date
                ORDER BY c.comment_date DESC";
        $query=$this->EE->db->query($sql);
        
        $data["results"]=$query;

        return $this->EE->load->view('show_list', $data,TRUE);
    }
 
    function _set_nav_title($title='',&$data)
    {
        $this->EE->cp->set_variable('cp_page_title',$title);
        $data['module_menu']        = $this->cached_vars['module_menu'];
    }
 
//Class End
}

?>


----------------------------------------------------------------------------------------

3.mod.article_statistics.php

具体实现一些tag和一些tag中的form提交的方法接受

class Article_statistics{

    var $version        = '1.0';
   
    function __construct()
    {
        $this->EE =& get_instance();
    }
    
    //用于对应upd 中的action
    function add()
    {
        $username= $this->EE->input->post("username");
        $password= $this->EE->input->post("password");
        
        $msg_id= $this->EE->input->get("msg_id");
        echo $username;
        echo "
password:";
        echo $password;
        
        echo "
msg_id:";
        echo $msg_id;
    }
    
    
       
    /* END form */
}
?>


----------------------------------------------------------------------------------------

4.views/menu.html

在MCP中调用的可以互相切换的tab的显示样式


    foreach($module_menu AS $menu_item) :  
        $current_method=$this->input->get("method");
    ?>
        

  •         
            
        



----------------------------------------------------------------------------------------

5.libraries/ Article_statistics_helper.php

链接Views,MCP


/**
 * Iserver API Helper File
 *
 */
class Article_statistics_helper
{

    /**
     * Constructor
     *
     * @access public
     */
    function __construct()
    {
        // Creat EE Instance
        $this->EE =& get_instance();
 
    }
}
?>


补充:

1.如果需要获取action_id可以在mod.module_name.php中直接调用

$this->form_data['ACT']                        = $this->EE->functions->fetch_action_id('Test', 'add');

 'action'        => "?ACT=".$this->form_data['ACT'].AMP."msg_id=333",

2.如果需要在form中设置跳转,则需要设置redirect的相应跳转路径



你可能感兴趣的:(PHP,statistics,module,function,menu,action,list)