discuz幻燈片外掛程式開發 01

2021-06-22 16:22:42 字數 4619 閱讀 7305

作為乙個新手,也是剛剛玩轉discuz的外掛程式的一些功能,感覺網上的關於discuz的教程很簡單,原因可能是這個東西是商業化的東西,本著分享的精神的人就不是很多,我現在就幻燈片外掛程式教程,拿出來大家一起分享一下。希望能給大家一些啟示或者幫助吧!

一、首先建立乙個新外掛程式後,建立pages.class.php

<?php

/***[文章附件圖幻燈(skx_slide.)] .

*/if(!defined('in_discuz'))

require "skx_slide.func.php";

class plugin_skx_slide

class plugin_skx_slide_portal extends plugin_skx_slide

return false; // 如果無資料,直接返回

}$html .= "";}

$html = slide_html($html) ;

return $html;}}

?>

二、建立skx_slide.func.php

<?php

if( !defined('in_discuz') )

$slide_mgtmod = array("add","edit");

$slide_path = './source/plugin/skx_slide';

function slide_html($html)

function slide_var($var)

return $var;

}function slide_otoa($obj)

return $arr; 

}function slide_getatts_by_aid($aid)

}return $new;

}function slide_check_by_aid($aid)

else

}if( count($del) )

}return array( "article"=>$old , "atts"=>$attids , "show"=>$shows);

}function slide_clear($pids)

function slide_add($slide)

}db::delete("skx_slidepic"," sid=$sid"); // 清理子記錄資料

if( !count($pics) )

else

$ok = array();

foreach($pics as $v)

return $ok; // 返回 ok序列

}function slide_show($aid) // 無有效幻燈資料,原樣返回

// 更新訪問統計

$order = $newinfo = array();

$sid = $slide_var["slide"]["article"]["sid"];

$newinfo["info"] = $slide_var["slide"]["article"]["info"];

$newinfo["info"]["views"]++;

$newinfo["info"] = serialize($newinfo["info"]);

db::update("skx_slidecp",$newinfo," sid=$sid ",true);//更新瀏覽數統計

foreach($old["atts"] as $v)}}

asort($order); // 排序

$slide_var["order"] = array_keys($order); // 給幻燈attid排序引數$order(1,2,3,4,5),排序相同時,小附件id在前

return $slide_var; // 返回排序過後的資料

}?>

三,建立skx_slide.inc.php

<?php

if(!defined('in_discuz'))

require "skx_slide.func.php";

$aid = empty($_get['aid'])?0:intval($_get['aid']);

if(!$aid)

if( !in_array($_g["mod"], $slide_mgtmod ) )

$slide_var = slide_var($_g["cache"]["plugin"]["skx_slide"]);// 取引數

$test["mgt"] = in_array( $_g["adminid"], $slide_var["slidemgtgroup"] ) ? $_g["adminid"] : 0; // 管理權

if(!$test["mgt"])

$atts = slide_getatts_by_aid($aid); // 附件陣列

if (empty($atts) )

if ( count($_g["gp_slide"]["pics"]) && $_g["gp_formhash"]==formhash )

$article = c::t('portal_article_title')->fetch($aid);

require_once libfile('function/home');

$article['pic'] = pic_get($article['pic'], '', $article['thumb'], $article['remote'], 1, 1);

$slide_var = slide_check_by_aid($aid); // 讀取幻燈資料

$old = $slide_var["slide"];

$satts = $old["atts"];

$sid = $old["article"]["sid"];

$isnew = $sid ? "edit" :$_g["mod"];  // 如果有記錄切換模式為編輯,影響表單的提交

$old = $old["article"]; // 文章資料

include template($_g["gp_id"]);

?>

四,建立portalcp.inc.php

<?php

if(!defined('in_discuz'))

require "skx_slide.func.php";

$aid = empty($_get['aid'])?0:intval($_get['aid']);

if(!$aid)

if( !in_array($_g["mod"], $slide_mgtmod ) )

$slide_var = slide_var($_g["cache"]["plugin"]["skx_slide"]);// 取引數

$test["mgt"] = in_array( $_g["adminid"], $slide_var["slidemgtgroup"] ) ? $_g["adminid"] : 0; // 管理權

if(!$test["mgt"])

$atts = slide_getatts_by_aid($aid); // 附件陣列

if (empty($atts) )

if ( count($_g["gp_slide"]["pics"]) && $_g["gp_formhash"]==formhash )

$article = c::t('portal_article_title')->fetch($aid);

require_once libfile('function/home');

$article['pic'] = pic_get($article['pic'], '', $article['thumb'], $article['remote'], 1, 1);

$slide_var = slide_check_by_aid($aid); // 讀取幻燈資料

$old = $slide_var["slide"];

$satts = $old["atts"];

$sid = $old["article"]["sid"];

$isnew = $sid ? "edit" :$_g["mod"];  // 如果有記錄切換模式為編輯,影響表單的提交

$old = $old["article"]; // 文章資料

include template($_g["gp_id"]);

?>

五、建立install.php

<?php

/***[文章附件圖幻燈(skx_slide.install)] (c)2013-2099 powered by 黑海豚 skyskai.com.

*version: 0.1

*date: 2013-12-12 09:15

*/if(!defined('in_discuz'))

$sql = <<

六、建立uninstall.php

<?php

/***[文章附件圖幻燈(skx_slide.uninstall)] (c)2013-2099 powered by 黑海豚 skyskai.com.

*version: 0.1

*date: 2013-12-12 09:15

*/if(!defined('in_discuz'))

$sql = <<

建立這幾個主要的php檔案後,在建立模板檔案和相關的html檔案就可以了

基礎幻燈片

下面列舉幾種比較常見的幻燈片實現 1 把所有層疊放著,定時器每次執行使某張圖透明度為1,其他為0,當然透明度的漸變也由定時器控制。function show ind count 20 l2 index classname current function autoplay 2000 2 最常見的方法...

10個Jquery幻燈片外掛程式教程

當有大量的內容或者需要在你的 或者blog上展示的時候,以幻燈片滑動的方式是乙個不錯的選擇,這種效果常用於公司 或者個人blog。常聽有人說jquery 比較難學,只要你感興趣,實現幻燈片效果還是蠻有樂趣的,下面的jquery 幻燈片教程將引領你進入jquery外掛程式開發的喜悅中,希望對大家有幫助...

WordPress無需外掛程式實現幻燈片效果

據我發現所有大程式設計客棧部分的wordpress幻燈片外掛程式都是通過選擇分類來實現的,這樣的設計其實很不科學,為什麼這麼說呢?因為幻燈片都是站長覺得非常好的文章才會用幻燈片來推薦給讀者,好的文章不可能是整個欄目,所以個人一向不太喜歡用wordpress幻 燈片外掛程式,於是就寫了一段 來實現,其...