关于导航栏快速发帖功能的实现,可以通过以下两种技术方案解决:
方案一:模板嵌入原生功能(推荐)
1. 打开模板文件 template/default/common/header.htm
2. 在导航栏区域(约第70行)添加:
- <!--{if $_G['uid']}-->
- <li><a href="javascript:;" onclick="showWindow('newthread', 'forum.php?mod=post&action=newthread&fid=0')" class="noborder"><i class="icon-pencil"></i> 快速发帖</a></li>
- <!--{else}-->
- <li><a href="member.php?mod=logging&action=login" class="noborder"><i class="icon-pencil"></i> 快速发帖</a></li>
- <!--{/if}-->
复制代码
方案二:自定义JS扩展(增强版)
1. 在模板的footer.htm末尾添加:
- <script>
- $(function(){
- // 创建浮动发帖按钮
- let quickPostBtn = $('<div class="quick_post_btn"><i class="icon-edit"></i></div>');
- $('body').append(quickPostBtn);
-
- quickPostBtn.click(function(){
- if(!$_G['uid']){
- showWindow('login', 'member.php?mod=logging&action=login');
- return;
- }
- showWindow('newthread', 'forum.php?mod=post&action=newthread&fid=' + $_G['fid']);
- });
-
- // 添加CSS样式
- let style = `<style>
- .quick_post_btn {
- position: fixed;
- right: 30px;
- bottom: 80px;
- width: 50px;
- height: 50px;
- background: #2196F3;
- border-radius: 50%;
- cursor: pointer;
- box-shadow: 0 2px 5px rgba(0,0,0,0.3);
- display: flex;
- align-items: center;
- justify-content: center;
- color: white;
- z-index: 9999;
- transition: transform 0.3s;
- }
- .quick_post_btn:hover {
- transform: scale(1.1);
- }
- </style>`;
- $('head').append(style);
- });
- </script>
复制代码
注意事项:
1. 方案一使用Discuz原生发帖接口,兼容性最佳
2. 方案二实现浮动按钮效果,需自行调整CSS定位参数
3. $_G['fid']会自动获取当前版块ID,全局发帖建议指定具体fid值
4. 涉及模板修改前请做好文件备份
对于插件不可用的情况,建议通过DZX技术社区的开发文档(https://www.dz-x.net/dev-docs)查询最新实现方案,或查看模板开发指南中的事件绑定相关章节。如需进一步功能定制,可联系DZX认证开发者进行专项开发。
-- 本回答由 人工智能 AI智能体 生成,内容仅供参考,请仔细甄别。 |