久久精品水蜜桃av综合天堂,久久精品丝袜高跟鞋,精品国产肉丝袜久久,国产一区二区三区色噜噜,黑人video粗暴亚裔

HDWiki/許愿墻插件開發(fā)實例

來自站長百科
跳轉(zhuǎn)至: 導(dǎo)航、? 搜索

HDWiki | HDWiki使用 | HDWiki插件

本條目以本地HDwikiIP地址: http://10.0.0.121/HDwiki/為例進(jìn)行講解

具體步驟[ ]

第一步:把插件開發(fā)向?qū)?pluginwizard.php 這個工具放到HDwiki的根目錄下面。

第二步:在瀏覽器里面輸入地址 :http://10.0.0.121/HDwiki/pluginwizard.php ,然后Enter 確定,出現(xiàn)如下頁面:

HDwish.jpg

第三步:我們這里做的插件是許愿墻,給許愿墻取一個唯一標(biāo)識符(也就是英文名字)wish;

  • 插件名稱:許愿墻。
  • 插件是否前臺可見:可見
  • 插件簡介:就是插件的說明和描述,做什么用的等
  • 作者:就是你自己了,真實的名字和昵稱都可
  • 作者主頁:就是你的個人主頁
  • 適用于HDwiki的版本:就是說這個插件能夠在哪些HDwiki上正常運行?,我們許愿墻插件依賴于jquery,但是HDwiki從4.0.3才開始有jquery,所以這里填寫 4.0.3,4.0.4 ,多個版本用逗號隔開

填寫完畢,如下圖所示:

HDwish 1.jpg

第四步:點擊生成,如下圖所示,插件生成成功!

HDwish 2.jpg

第五步:進(jìn)入HDwiki的plugins目錄,查看已經(jīng)生成的插件??梢钥吹揭粋€叫做wish的目錄,這個就是自動生成的插件。

HDwish 3.jpg

第六步:進(jìn)入HDwiki的管理員后臺,點擊HDwiki插件下面的【全部推薦插件】->【本地已有插件】(4.0.3下是插件管理),如下圖所示:

HDwish 4.jpg

點擊【安裝此插件】即可。從這個時候開始就可以編寫插件代碼并測試插件了。

第七步:進(jìn)入HDwiki的plugins目錄下的子目錄wish,增加相關(guān)文件,編寫相關(guān)代碼,如下圖所示:

wish這個目錄里面包括model、cotrol、view 三個子目錄,我們自己創(chuàng)建一個目錄images,放入需要用到的圖片和js腳本等,并自己編寫兩個htm頁面:allwish.htm 和postwish.htm 目錄文件列表如下圖:

HDwish 5.jpg

詳細(xì)解釋[ ]

1、admin_wish.php :這個是后臺點擊插件的【管理】需要調(diào)用的,在許愿墻插件中用不到,所以可以不用修改。

<?php

!defined('IN_HDwiki') && exit('Access Denied');

class control extends base{

        function control(& $get,& $post){
                $this->base( & $get,& $post);
                $this->load('plugin');
                $this->loadplugin('wish');
                $this->view->setlang('zh','back');
        }

/*在后臺點擊管理觸發(fā)的方法,因為許愿墻用不到后臺,所以這里是默認(rèn)的echo語句 */
        function dodefault() {
                echo 'nothing!';  
        }

}

?>

2、wish.php :前臺訪問許愿墻插件需要用到的control,要編寫代碼,我們需要改寫下:

<?php

!defined('IN_HDwiki') && exit('Access Denied');

class control extends base{

        function control(& $get,& $post){
                $this->base( & $get,& $post);
                $this->loadplugin('wish');
        }

/*顯示所有的許愿*/
        function dodefault(){
                $wishlist=$_ENV['wish']->get_list();
                $this->view->assign('wishlist',$wishlist);
                $this->view->display('file://plugins/wish/view/allwish');
        }
        
/*ajax提交許愿*/
        function dopost(){
                $receiver=empty($this->post['receiver'])?'自己'this->post['receiver'];
                $author=empty($this->post['author'])?'匿名'this->post['author'];
                $wish=$this->post['wish'];
                $_ENV['wish']->add_wish($receiver,$author,$wish);
                $this->message('1','',2);
        }

/*點擊我來貼一張顯示提交頁面*/
        function dowill(){
                $this->view->display('file://plugins/wish/view/postwish');
        }
        
}

?>

3、wish.class.php :許愿墻插件用到的model,要編寫代碼,我們需要改寫下:

<?php

!defined('IN_HDwiki') && exit('Access Denied');

class wishmodel {

        var $db;
        var $base;

        function wishmodel(&$base) {
                $this->base = $base;
                $this->db = $base->db;
        }
        
/*這里是每個插件都需要編寫的方法,安裝插件的時候會自動調(diào)用此方法*/
        function install(){
                $sqls="CREATE TABLE wiki_wish (
                                `id` mediumint(8) unsigned NOT NULL auto_increment,
                                `wish` varchar(200) NOT NULL default '',
                                `receiver` varchar(15) NOT NULL default '',
                                `author` varchar(15) NOT NULL default '',
                                `style` int(2) NOT NULL default '1',
                                `time` int(10) unsigned NOT NULL default '0',
                                PRIMARY KEY  (`id`),
                                KEY `time` (`time`)) TYPE=MyISAM DEFAULT CHARSET=".DB_CHARSET.";";
                $this->db->query($sqls); //創(chuàng)建許愿的數(shù)據(jù)表
                $plugin=array(
                        'name'=>'許愿墻',
                        'identifier'=>'wish',
                        'description'=>'每個人都有很多美好的愿望,許愿墻,一個你可以隨意許愿的地方,
這里人人平等,朋友之間也可以互相祝福!',
                        'datatables'=>'',
                        'type'=>'1',
                        'copyright'=>'lovewiki',
                        'homepage'=>'http://hi.baidu.com/songdenggao',
                        'version'=>'1.0',
                        'suit'=>'4.0.3,4.0.4',
                        'modules'=>''
                );
                $plugin['vars']=array();
                $plugin['hooks']=array();
                return $plugin;
        }


/*這里是每個插件都需要編寫的方法,卸載插件的時候會自動調(diào)用此方法*/
        function uninstall(){
                $this->db->query("DROP TABLE IF EXISTS wiki_wish");
        }
        
        
/*自己編寫的方法,插入一個許愿到數(shù)據(jù)庫表中*/
        function add_wish($receiver,$author,$wish){
                $style=rand(1,8);
                $this->db->query("INSERT INTO  ".DB_TABLEPRE."wish 
(receiver,author,wish,style,time) 
VALUES ('$receiver','$author','$wish',$style,'".$this->base->time."') ");
        }
        
/*自己編寫的方法,從數(shù)據(jù)庫讀取許愿數(shù)據(jù)*/
        function get_list($start=0,$limit=100){
                $wishlist=array();
                $query=$this->db->query
("SELECT *  FROM ".DB_TABLEPRE."wish ORDER BY time DESC limit $start,$limit ");
                while($wish=$this->db->fetch_array($query)){
                        $wish['time']=$this->base->date($wish['time']);
                        $wish['left']=rand(1,1024);
                        $wish['top']=rand(1,800);
                        $wishlist[]=$wish;
                }
                return $wishlist;
        }

}        

?>

4、allwish.htm:顯示所有許愿用到的view,也就是許愿墻的顯示頁面,要編寫代碼,最終代碼如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>許愿/祝福墻 - {$setting['site_name']}</title>
<meta http-equiv="Content-Type" content="text/html; charset={WIKI_CHARSET}" />
<meta name="author" content="lovewiki" />
<meta name="description" content="愛情墻,祝福墻,許愿墻,愿望墻,wish wall,jQuery wish wall " />
<meta name="keywords" content="愛情墻,祝福墻,許愿墻,愿望墻,wish wall,jQuery wish wall " />
<link rel="stylesheet" type="text/css" href="plugins/wish/images/html.css" />
<link rel="stylesheet" type="text/css" href="plugins/wish/images/layout.css" />
<script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript" src="js/ui/ui.core.js"></script>
<script type="text/javascript" src="js/ui/ui.draggable.js"></script>
<script type="text/javascript">
        var zindex=0;
        $(function() {
                $(".wall").draggable({
                        start: function(e, ui) { 
                        var        curdiv=$(this);
                        $(".wall").each(function (index, element) { 
                                  var index=parseInt($(this).css('z-index'));
                                  if(index>=zindex){
                                          zindex=index+1;
                                  }
                        });
                        curdiv.css('z-index',zindex);
                 }
                });
        });
        $(document).ready(function(){         
                $("span[class=x]").click(function(){
                        $(this).parents(".wall").hide();
                }); 
        });
</script>
</head>

<body>

<div id="top_pad">
        <span style="float: right; padding-right: 10px"><input type="button" value="我來貼一張>>" 

class="button" onclick='location.href="{$setting[seo_prefix]}plugin-wish-wish-will";' /></span>
        <span style="font-size:large; font-weight: bold">許愿墻</span>
        <span style="font-size: 11px">(<a href="{$setting['site_url']}">回首頁</a>)</span>
</div>

{loop $wishlist $index $wish}
<div class="wall" style="z-index:{$index};left:{$wish['left']}
px;top:{$wish['top']}px; opacity: 1;">
       
 <div class="top-{$wish['style']}"><span class="x">×</span>第[{$wish['id']}]條  
{$wish['time']}</div>
        <div class="mid-{$wish['style']}"><span class="wt"><b>{$wish['receiver']}</b>:
</span><span>{$wish['wish']}</span></div>
        <div class="bot-{$wish['style']}"><img src="plugins/wish/images/{$wish['style']}.gif"  />
<span class="inline">{$wish['author']}</span></div>
</div>
{/loop}

</body>
</html>

5、postwish.htm:提交許愿用到的view,也就是發(fā)布許愿用到的頁面,需要編寫代碼,最終代碼如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title>我來貼祝福,我來貼愿望 - {$setting['site_name']}</title>
<meta http-equiv="Content-Type" content="text/html; charset={WIKI_CHARSET}" />
<meta name="author" content="lovewiki" />
<meta name="description" content="愛情墻,祝福墻,許愿墻,愿望墻,wish wall,jQuery wish wall " />
<meta name="keywords" content="愛情墻,祝福墻,許愿墻,愿望墻,wish wall,jQuery wish wall " />
<link rel="stylesheet" type="text/css" href="plugins/wish/images/html.css" />
<link rel="stylesheet" type="text/css" href="plugins/wish/images/layout.css" />
<script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript">
function mypost(){
        var        wish=$('#wish').val();
        if(wish.length>100 || wish.length==0 ){
                alert('祝福內(nèi)容必須介于1~100字之間!');
                return;
        }
        $.ajax({
                url: "index.php?plugin-wish-wish-post",
                data: {receiver('#receiver').val(),author('#author').val(),wish:wish},
                cache: false,
                dataType: "xml",
                type:"post",
                beforeSend:function(){
                        $('#success').html('');
               $('#waiting').html('<img src="plugins/wish/images/loading.gif" alt="osting..." /> 
正在發(fā)布,請稍等...');
                },
                success: function(xml){
                        var        message=xml.lastChild.firstChild.nodeValue;
                        if(message=='1'){
                          $('#waiting').html('');
                          $('#success').html('<img src="plugins/wish/images/ok.gif" alt="OK" /> 

OK,貼好了,快去look一下吧');
                        }else{
                                alert('發(fā)布失敗!');
                        }
                }
        });
}
</script>
</head>
<body>
<form action style="margin-top: 80px">
        <div class="pad_box">
          <span>我的祝福 (<a href="{$setting['site_url']}">{$setting['site_name']}</a>)</span>
                
<table border="0" cellpadding="0" cellspacing="0">
                        <tr>
                                <td>貼給?</td>
                                <td><input type="text" maxlength="30" size="40" id="receiver" 

name="receiver" value="自己" /></td>
                        </tr>
                        <tr>
                          <td>你是?</td>
                          <td><input type="text" maxlength="20" size="40" id="author" name="author" 

value="匿名" /></td>
                        </tr>
                        <tr>
                           <td>Wish:<br />(<=100字)</td>
                           <td><textarea id="wish" name="wish" cols="50" rows="4"></textarea></td>
                        </tr>
                        <tr>
                                <td colspan="2" style="text-align: center">
                                <input type="button" class="button" value="我貼!" />
                                <input type="reset"  class="button" value="重來?" />
                                <input type="button" class="button" value="去看看" />
                                <input type="button" class="button" value="回首頁" /></td>
                        </tr>
                        <tr>
                                <td colspan="2" style="text-align: center">
                                        <span id="waiting"></span>
                                        <span id="success"></span>
                                </td>
                        </tr>
                </table>
        </div>
</form>
</body>
</html>

第八步:編寫完代碼并測試通過后發(fā)布到到插件共享平臺。首先進(jìn)入后臺管理中心,查看【已安裝插件】。如下圖,可以看到許愿墻插件:

HDwish 6.jpg

然后點擊【分享】,如下圖,填寫完所有的信息,然后【確定】即可完成分享。

HDwish 7.jpg

分享后的插件在HDwiki開源官方站上有展示,默認(rèn)的是顯示為【未審核】,審核通過后,所有的HDwiki管理員都可以在后臺【全部推薦插件】看到你分享的插件。

參考來源[ ]

http://kaiyuan.hudong.com/

HDWIKI使用手冊導(dǎo)航

HDWIKI安裝

安裝教程

HDWiki使用

前臺使用說明 | 用戶管理 | 模板管理 | 插件管理 | 數(shù)據(jù)庫管理 | 站內(nèi)統(tǒng)計 | Map功能 | 基本設(shè)置 | 站點設(shè)置 | 擴(kuò)展設(shè)置 | 內(nèi)容設(shè)置 | 友情鏈接及廣告管理 | 分類管理 | 詞條管理 | 數(shù)據(jù)調(diào)用 | 其他內(nèi)容管理 | 禮品商店 | 圖片及木馬掃描 | Apache偽靜態(tài) | IIS偽靜態(tài) | Nginx偽靜態(tài) | 通用樣式解讀 | 樣式使用規(guī)則 | 數(shù)據(jù)庫結(jié)構(gòu)說明 | 模板說明 | 函數(shù)類參考 |軟件包結(jié)構(gòu) | HDWiki運行機(jī)制和原理 |編碼規(guī)范 |MVC中的控制器 | 框架簡介 | 高級應(yīng)用 | MVC中的視圖 | MVC中的模型 | HDWiki與PHPCMS整合 | HDWiki與PHPWind整合 | HDWiki與DEDECMS整合 | HDWiki與UCenter整合 | 可視化編輯使用說明 | 模塊區(qū)版塊制作教程 | 模版共享

HDWiki插件

插件開發(fā)指南 | 許愿墻插件開發(fā)實例 | 模版與標(biāo)簽 | 宣傳中心 | 友情鏈接申請 | 數(shù)據(jù)調(diào)用 | 互動摸摸