discuz插件开发文档(discuz插件-discuz免费插件-discuz拓展插件)
discuz插件开发文档(discuz插件-discuz免费插件-discuz拓展插件)由于基础(Discuz!)是开源免费的,一般的Hack也都是开源免费的,许多程序爱好者会根据自己或者朋友的需求,去制作一些discuz插件在各个程序的交流论坛发布,以获得站长们和官方的肯定和鼓励,这样的发展方式更能促进网站的发展。discuz插件是基于国内通用型论坛程序Discuz!架构,利用其接口,符合其标准,复用其底层和函数、类,为了满足新的需求而制作的新作品。插件一般是利用程序的API(接口),复用程序底层,利用一些程序既有的函数和类制作新的作品,一般有文件的增加,且符合标准的插件,其目录结构和文件名都是有一定格式的(如Discuz!的插件文件需放在plugin目录下)。print_r($data);//savecache('setting' $data); 用来保存配置?>
discuz插件,是discuz作为国内最大的论坛类型CMS经常使用到的一些功能,因为其本身功能满足不了站长们的需求,所以更多的是通过discuz插件来实现。特别是网站SEO优化方面,discuz插件更是通过研究搜索引擎算法而增加的功能,迎合搜索引擎规则,促进网站的收录、排名,能够让用户通过关键词搜索更能快速发现站长们的站点,并吸引他们点击。
discuz安装完成的操作,会在jshop_dcommon_syscache里面将siteuniqueid网站唯一标识写进去(插件识别网站就是靠这个)。jshop_dcommon_syscache 有条数据是 cname = setting 通过以下代码获取 里面有个键值 siteuniqueid 可以识别当前网站
<?php
$data = C::t('common_syscache')->fetch('setting');
print_r($data);
//savecache('setting' $data); 用来保存配置
?>
discuz插件是基于国内通用型论坛程序Discuz!架构,利用其接口,符合其标准,复用其底层和函数、类,为了满足新的需求而制作的新作品。插件一般是利用程序的API(接口),复用程序底层,利用一些程序既有的函数和类制作新的作品,一般有文件的增加,且符合标准的插件,其目录结构和文件名都是有一定格式的(如Discuz!的插件文件需放在plugin目录下)。
由于基础(Discuz!)是开源免费的,一般的Hack也都是开源免费的,许多程序爱好者会根据自己或者朋友的需求,去制作一些discuz插件在各个程序的交流论坛发布,以获得站长们和官方的肯定和鼓励,这样的发展方式更能促进网站的发展。
合理地运用discuz插件,会让网站功能更强大,用户使用起来更为方便,从而达到用户体验更好的效果。discuz插件中提供了一个通用的插件配置管理程序,在大多数情况下可实现插件的参数配置,省却了插件开发者自行编写后台管理模块的麻烦。
通常情况下,应优先使用通用插件配置管理程序来实现插件的参数配置,只有在通用程序确实无法实现时,才自行编写后台管理模块。输入配置名称和配置变量名、选择合适的配置类型后,即可为此插件增加一个配置变量,点详情可以编辑discuz插件配置变量的更多信息。为了方便插件程序调用使用者配置好的参数,配置变量同样被存放在了缓存文件中。
Discuz! 虽然能够在后台修改帖子的排序方式,但却不能选择是倒序还是顺序排序。为解决这个问题,可采用discuz插件修改办法:
修改文件source/module/forum/forum_forumdisplay.php,找到 457 行:
$_GET['ascdesc'] = isset($_G['cache']['forums'][$_G['fid']]['ascdesc']) ? $_G['cache']['forums'][$_G['fid']]['ascdesc'] : 'DESC';
在下方加入:
Modified by kookxiang @if($_GET['forceasc']) $_GET['ascdesc'] = 'ASC';
if($_GET['forcedesc']) $_GET['ascdesc'] = 'DESC';
Ending of modification
这样便能通过 URL 参数 forceasc 和 forcedesc 控制排序了