八、实例讲解之插件语言包
1、打开之前所创建的语言包文件(data/plugindata/send_jinbi.lang.php),添加以下代码,红色部分为插件的唯一标识符:
<?php
//程序脚本文件的语言包
$scriptlang['send_jinbi'] = array(
'info' => '程序脚本文件的语言包'
);
//模版文件的语言包
$templatelang['send_jinbi'] = array(
'info' => '模板文件的语言包'
);
//安装、升级、卸载脚本用的语言包
$installlang['send_jinbi'] = array(
'info' => '安装、升级、卸载脚本用的语言包'
);
?>
2、调用语言包
模版中调用模板文件语言包,通过 {lang send_jinbi:info} 方式调用。
程序脚本中调用脚本文件语言包,通过 lang('plugin/send_jinbi', 'info') 方式调用。
安装脚本中调用安装脚本文件语言包,通过 $installlang 变量直接获取。如 $installlang['info']。
3、语言包的导出
<ignore_js_op style="WIDOWS: 2; TEXT-TRANSFORM: none; BACKGROUND-COLOR: rgb(255,255,255); TEXT-INDENT: 0px; LETTER-SPACING: normal; FONT: 14px/20px Tahoma, 'Microsoft Yahei', Simsun; WORD-WRAP: break-word; WHITE-SPACE: normal; ORPHANS: 2; COLOR: rgb(68,68,68); WORD-SPACING: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px"><img style="WORD-WRAP: break-word; CURSOR: pointer" id="aimg_1148533" οnmοuseοver="showMenu({'ctrlid':this.id,'pos':'12'})" title="4.jpg" οnclick="zoom(this, this.getAttribute('zoomfile'), 0, 0, '0')" alt="4.jpg" src="http://att.discuz.net/data/attachment/forum/201203/09/090622ecq2q80ibtcbciii.jpg.thumb.jpg" inpost="1" file="http://att.discuz.net/data/attachment/forum/201203/09/090622ecq2q80ibtcbciii.jpg.thumb.jpg" zoomfile="http://att.discuz.net/data/attachment/forum/201203/09/090622ecq2q80ibtcbciii.jpg" aid="1148533" initialized="true"><span class="Apple-converted-space"> </span></ignore_js_op>
导出后的语言包是:discuz_plugin_send_jinbi.xml
接下来我们用编码转换工具 convertz 对discuz_plugin_send_jinbi.xml 分别转为:
discuz_plugin_send_jinbi_SC_GBK.xml(简体中文GBK)
discuz_plugin_send_jinbi_SC_UTF8.xml(简体中文UTF8)
discuz_plugin_send_jinbi_TC_BIG5.xml(繁体中文BIG5)
discuz_plugin_send_jinbi_TC_UTF8.xml(繁体中文UTF8)
把这四个文件放到该插件 ./source/plugin/send_jinbi/ 目录下
4、安装时的效果图:
<ignore_js_op style="WIDOWS: 2; TEXT-TRANSFORM: none; BACKGROUND-COLOR: rgb(255,255,255); TEXT-INDENT: 0px; LETTER-SPACING: normal; FONT: 14px/20px Tahoma, 'Microsoft Yahei', Simsun; WORD-WRAP: break-word; WHITE-SPACE: normal; ORPHANS: 2; COLOR: rgb(68,68,68); WORD-SPACING: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px"><img style="WORD-WRAP: break-word; CURSOR: pointer" id="aimg_1148534" class="zoom" οnmοuseοver="showMenu({'ctrlid':this.id,'pos':'12'})" title="5.jpg" οnclick="zoom(this, this.src, 0, 0, 0)" alt="5.jpg" src="http://att.discuz.net/data/attachment/forum/201203/09/0906243ieqbv6775l7tvfq.jpg" width="481" inpost="1" file="http://att.discuz.net/data/attachment/forum/201203/09/0906243ieqbv6775l7tvfq.jpg" zoomfile="http://att.discuz.net/data/attachment/forum/201203/09/0906243ieqbv6775l7tvfq.jpg" aid="1148534" initialized="true"><span class="Apple-converted-space"> </span></ignore_js_op>
九、实例讲解之增加页面功能
1、在原有的页面上添加功能(这里以 注册 页面为例)
<ignore_js_op style="WIDOWS: 2; TEXT-TRANSFORM: none; BACKGROUND-COLOR: rgb(255,255,255); TEXT-INDENT: 0px; LETTER-SPACING: normal; FONT: 14px/20px Tahoma, 'Microsoft Yahei', Simsun; WORD-WRAP: break-word; WHITE-SPACE: normal; ORPHANS: 2; COLOR: rgb(68,68,68); WORD-SPACING: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px"><img style="WORD-WRAP: break-word; CURSOR: pointer" id="aimg_1148535" οnmοuseοver="showMenu({'ctrlid':this.id,'pos':'12'})" title="6.jpg" οnclick="zoom(this, this.getAttribute('zoomfile'), 0, 0, '0')" alt="6.jpg" src="http://att.discuz.net/data/attachment/forum/201203/09/090628ung9hp99ujkjp6kk.jpg.thumb.jpg" inpost="1" file="http://att.discuz.net/data/attachment/forum/201203/09/090628ung9hp99ujkjp6kk.jpg.thumb.jpg" zoomfile="http://att.discuz.net/data/attachment/forum/201203/09/090628ung9hp99ujkjp6kk.jpg" aid="1148535" initialized="true"><span class="Apple-converted-space"> </span></ignore_js_op>
2、在之前那个 ./source/plugin/send_jinbi/send_jinbi.class.php 的最后添加以下代码:
class plugin_send_jinbi_member extends plugin_send_jinbi {//类名称plugin_send_jinbi_member 最后面的 member 应该是相应的模块名称吧!具体本人不怎么清楚,还望高人指点!总之它是会改变的,如果是论坛,则是 forum
function register_input() { //函数名称其实就是前台页面嵌入点的名称
$lang = lang('plugin/send_jinbi'); //获取此插件的语言包
$bind = "<a href='javascript:void(0);' onClick=\"alert('别点我');\">".$lang['info']."</a>"; //调用语言包显示
return $bind;
}
}
3、更新下缓存,再到前台注册页面看看效果
<ignore_js_op style="WIDOWS: 2; TEXT-TRANSFORM: none; BACKGROUND-COLOR: rgb(255,255,255); TEXT-INDENT: 0px; LETTER-SPACING: normal; FONT: 14px/20px Tahoma, 'Microsoft Yahei', Simsun; WORD-WRAP: break-word; WHITE-SPACE: normal; ORPHANS: 2; COLOR: rgb(68,68,68); WORD-SPACING: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px"><img style="WORD-WRAP: break-word; CURSOR: pointer" id="aimg_1148536" οnmοuseοver="showMenu({'ctrlid':this.id,'pos':'12'})" title="7.jpg" οnclick="zoom(this, this.getAttribute('zoomfile'), 0, 0, '0')" alt="7.jpg" src="http://att.discuz.net/data/attachment/forum/201203/09/090630lww1xwqs2dxiuqqw.jpg.thumb.jpg" inpost="1" file="http://att.discuz.net/data/attachment/forum/201203/09/090630lww1xwqs2dxiuqqw.jpg.thumb.jpg" zoomfile="http://att.discuz.net/data/attachment/forum/201203/09/090630lww1xwqs2dxiuqqw.jpg" aid="1148536" initialized="true"><span class="Apple-converted-space"> </span></ignore_js_op>
PS:写到这里,相信大家对插件基本上是有一点了解了吧!这几天来忙着工作大概就了解到这些知识,有了它们,我想要得网站效果都统统实现了,相信你们也会一样开发出自己心中的插件,只要你肯学,没有什么学不会;不说了,花了半天的时间写这篇教程,同时也巩固了自己的插件知识,朋友们!晚安!
[手把手教]discuzX2插件制作教程__最菜鸟级别的入门坎 【三】
最新推荐文章于 2024-08-09 17:50:34 发布