第四步:
然后我们就要开始把我们的消息嵌入到前台的页面中去了,在Discuz!X中已经给我们创建好了很多嵌入点,discuzx-插件开发实例教程-右下角弹出广告框(一)提到过$_config['plugindeveloper'] = 2;因为这样在前台各个页面看到嵌入点,你刷新一下前台页面就会看多很多页面都有[string global_footerlink]类似这样的切入点,关于其他页面的嵌入点可以查看文档《页面嵌入模块开发》。
我们这里讲解教程用就随便将我们的弹出框放在[string global_footerlink]这个嵌入点,,这个嵌入点在前台每个页面都有。
选择 后台》插件》消息提示》设计》模块 中添加一个模块。这里我们选择”页面切入“,使用等级为”普通用户“
然后在source/plugin/notice中添加notice.class.php
- <!--?php <br ?-->
- class plugin_notice {
- function global_footerlink() {
- $query = DB::query("SELECT * FROM " . DB::table('my_notice') . " WHERE status=1");
- $result = DB::fetch($query); //获取发布中的消息
- $identifier = 'notice';
- $notice_url = $_G['siteurl'] . 'source/plugin/' . $identifier . ''; //插件位置
- $str = "<script type="text/javascript" src="$notice_url/plugin_notice.js"></script>"
- . ""
- . "</pre>
- <div id="winpop">
- <div class="title">{$result['title']}<span class="close" onclick="tips_pop()">X</span></div>
- <div class="con">{$result['content']}</div>
- </div>
- <pre>
- ";
- return $str;
- }
- }
复制代码
这就是页面嵌入类型脚本格式,plugin_ 普通版脚本中的类名以 plugin_ 开头。手机版脚本中的类名以 mobileplugin_ 开头。notice插件的唯一标识符,在插件设置中设置。
global_footerlink()预定义的嵌入点会在页面预置好的位置([string global_footerlink])输出函数返回的内容。函数名并不限于以上列表,您可以自定义,只要符合以下规则,函数就会在适当的地方被调用。 具体请查看文档,
plugin_notice.js和plugin_notice.css就是这个弹出框的js和css文件,
也放在source/plugin/notice下面,
函数返回内容就会被输出在[string global_footerlink]这个嵌入点了。
然后打开前台任何一个页面就会看到弹出框的效果了,插件基本完成了,但是还有一些后续工作要做。
(转载请标明出处:Discuz!X 插件开发实例教程) |
上一篇: Discuz X 插件开发实例教程-右下角弹出广告框(三)下一篇: Discuz X 插件开发实例教程-右下角弹出广告框(五)
|