返回列表 发帖
查看: 911|回复: 1

前端 按钮钩子不显示 有没有哪位大神帮我看看原因?

58

主题

296

回帖

411

积分

应用开发者

贡献
7 点
金币
9 个
QQ
发表于 2024-9-8 12:22:54 | 查看全部 |阅读模式


插件功能上开发没有遇到挑战,反而在按钮 钩子上卡的死死的。
都已经放弃了好几个不同的版本了。
xml

  1. <?xml version="1.0" encoding="ISO-8859-1"?>
  2. <root>
  3.         <item id="Title"><![CDATA[Discuz! Plugin]]></item>
  4.         <item id="Version"><![CDATA[X3.5]]></item>
  5.         <item id="Time"><![CDATA[2024-09-07 17:56]]></item>
  6.         <item id="From"><![CDATA[起尔网 (https://www.72jz.com/)]]></item>
  7.         <item id="Data">
  8.                 <item id="plugin">
  9.                         <item id="available"><![CDATA[1]]></item>
  10.                         <item id="adminid"><![CDATA[1]]></item>
  11.                         <item id="name"><![CDATA[帖子内容生成]]></item>
  12.                         <item id="identifier"><![CDATA[qier_thread]]></item>
  13.                         <item id="description"><![CDATA[帖子内容一键生成]]></item>
  14.                         <item id="datatables"><![CDATA[]]></item>
  15.                         <item id="directory"><![CDATA[qier_thread/]]></item>
  16.                         <item id="copyright"><![CDATA[起尔网]]></item>
  17.                         <item id="version"><![CDATA[1.0]]></item>
  18.                         <item id="__modules">
  19.                                 <item id="0">
  20.                                         <item id="name"><![CDATA[qier_thread]]></item>
  21.                                         <item id="param"><![CDATA[]]></item>
  22.                                         <item id="menu"><![CDATA[]]></item>
  23.                                         <item id="url"><![CDATA[]]></item>
  24.                                         <item id="type"><![CDATA[11]]></item>
  25.                                         <item id="adminid"><![CDATA[0]]></item>
  26.                                         <item id="displayorder"><![CDATA[0]]></item>
  27.                                         <item id="navtitle"><![CDATA[]]></item>
  28.                                         <item id="navicon"><![CDATA[]]></item>
  29.                                         <item id="navsubname"><![CDATA[]]></item>
  30.                                         <item id="navsuburl"><![CDATA[]]></item>
  31.                                 </item>
  32.                                 <item id="1">
  33.                                         <item id="name"><![CDATA[qier_thread]]></item>
  34.                                         <item id="param"><![CDATA[]]></item>
  35.                                         <item id="menu"><![CDATA[测试]]></item>
  36.                                         <item id="url"><![CDATA[]]></item>
  37.                                         <item id="type"><![CDATA[3]]></item>
  38.                                         <item id="adminid"><![CDATA[0]]></item>
  39.                                         <item id="displayorder"><![CDATA[0]]></item>
  40.                                         <item id="navtitle"><![CDATA[]]></item>
  41.                                         <item id="navicon"><![CDATA[]]></item>
  42.                                         <item id="navsubname"><![CDATA[]]></item>
  43.                                         <item id="navsuburl"><![CDATA[]]></item>
  44.                                 </item>
  45.                         </item>
  46.                 </item>


  47. <item id="hooks">
  48.     <item id="post_top"><![CDATA[post_top]]></item>
  49.     <item id="post_middle"><![CDATA[post_middle]]></item>
  50.     <item id="post_bottom"><![CDATA[post_bottom]]></item>
  51.     <item id="viewthread_fastpost_content"><![CDATA[viewthread_fastpost_content]]></item>
  52.     <item id="forumdisplay_postbutton_bottom"><![CDATA[forumdisplay_postbutton_bottom]]></item>
  53. </item>

  54.                 <item id="version"><![CDATA[X3.5]]></item>
  55.                 <item id="var">
  56.                         <item id="0">
  57.                                 <item id="displayorder"><![CDATA[0]]></item>
  58.                                 <item id="title"><![CDATA[是否启用生成功能 ...]]></item>
  59.                                 <item id="description"><![CDATA[启用后,生成按钮将显示在发帖页面]]></item>
  60.                                 <item id="variable"><![CDATA[enable]]></item>
  61.                                 <item id="type"><![CDATA[radio]]></item>
  62.                                 <item id="value"><![CDATA[1]]></item>
  63.                                 <item id="extra"><![CDATA[]]></item>
  64.                         </item>
  65.                         <item id="1">
  66.                                 <item id="displayorder"><![CDATA[1]]></item>
  67.                                 <item id="title"><![CDATA[按钮显示位置]]></item>
  68.                                 <item id="description"><![CDATA[选择生成按钮的显示位置]]></item>
  69.                                 <item id="variable"><![CDATA[button_position]]></item>
  70.                                 <item id="type"><![CDATA[select]]></item>
  71.                                 <item id="value"><![CDATA[1]]></item>
  72.                                 <item id="extra"><![CDATA[1=发帖框顶部
  73. 2=发帖框中部
  74. 3=发帖框底部]]></item>
  75.                         </item>
  76.                         <item id="2">
  77.                                 <item id="displayorder"><![CDATA[2]]></item>
  78.                                 <item id="title"><![CDATA[是否在快速回复区域显示]]></item>
  79.                                 <item id="description"><![CDATA[选择是否在快速回复区域显示生成按钮]]></item>
  80.                                 <item id="variable"><![CDATA[show_in_fastpost]]></item>
  81.                                 <item id="type"><![CDATA[radio]]></item>
  82.                                 <item id="value"><![CDATA[1]]></item>
  83.                                 <item id="extra"><![CDATA[]]></item>
  84.                         </item>
  85.                         <item id="3">
  86.                                 <item id="displayorder"><![CDATA[3]]></item>
  87.                                 <item id="title"><![CDATA[API Key]]></item>
  88.                                 <item id="description"><![CDATA[]]></item>
  89.                                 <item id="variable"><![CDATA[api_key]]></item>
  90.                                 <item id="type"><![CDATA[text]]></item>
  91.                                 <item id="value"><![CDATA[1]]></item>
  92.                                 <item id="extra"><![CDATA[]]></item>
  93.                         </item>
  94.                         <item id="4">
  95.                                 <item id="displayorder"><![CDATA[4]]></item>
  96.                                 <item id="title"><![CDATA[Secret Key]]></item>
  97.                                 <item id="description"><![CDATA[]]></item>
  98.                                 <item id="variable"><![CDATA[secret_key]]></item>
  99.                                 <item id="type"><![CDATA[text]]></item>
  100.                                 <item id="value"><![CDATA[1]]></item>
  101.                                 <item id="extra"><![CDATA[]]></item>
  102.                         </item>
  103.                         <item id="5">
  104.                                 <item id="displayorder"><![CDATA[5]]></item>
  105.                                 <item id="title"><![CDATA[每日免费使用次数]]></item>
  106.                                 <item id="description"><![CDATA[]]></item>
  107.                                 <item id="variable"><![CDATA[daily_free_count]]></item>
  108.                                 <item id="type"><![CDATA[number]]></item>
  109.                                 <item id="value"><![CDATA[1]]></item>
  110.                                 <item id="extra"><![CDATA[]]></item>
  111.                         </item>
  112.                         <item id="6">
  113.                                 <item id="displayorder"><![CDATA[6]]></item>
  114.                                 <item id="title"><![CDATA[总共免费使用次数]]></item>
  115.                                 <item id="description"><![CDATA[]]></item>
  116.                                 <item id="variable"><![CDATA[total_free_count]]></item>
  117.                                 <item id="type"><![CDATA[number]]></item>
  118.                                 <item id="value"><![CDATA[1]]></item>
  119.                                 <item id="extra"><![CDATA[]]></item>
  120.                         </item>
  121.                         <item id="7">
  122.                                 <item id="displayorder"><![CDATA[7]]></item>
  123.                                 <item id="title"><![CDATA[生成文章积分类型]]></item>
  124.                                 <item id="description"><![CDATA[属于论坛的一种虚拟币 在全局-积分设置里面的类型]]></item>
  125.                                 <item id="variable"><![CDATA[credit_type]]></item>
  126.                                 <item id="type"><![CDATA[extcredit]]></item>
  127.                                 <item id="value"><![CDATA[1]]></item>
  128.                                 <item id="extra"><![CDATA[]]></item>
  129.                         </item>
  130.                         <item id="8">
  131.                                 <item id="displayorder"><![CDATA[8]]></item>
  132.                                 <item id="title"><![CDATA[生成需扣除的积分]]></item>
  133.                                 <item id="description"><![CDATA[生成文章需使用的积分 比如:1]]></item>
  134.                                 <item id="variable"><![CDATA[credit_cost]]></item>
  135.                                 <item id="type"><![CDATA[number]]></item>
  136.                                 <item id="value"><![CDATA[0]]></item>
  137.                                 <item id="extra"><![CDATA[]]></item>
  138.                         </item>
  139.                         <item id="9">
  140.                                 <item id="displayorder"><![CDATA[9]]></item>
  141.                                 <item id="title"><![CDATA[固定词]]></item>
  142.                                 <item id="description"><![CDATA[这里是用户提交后额外给出的文章要求。没有请留空]]></item>
  143.                                 <item id="variable"><![CDATA[fixed_words]]></item>
  144.                                 <item id="type"><![CDATA[textarea]]></item>
  145.                                 <item id="value"><![CDATA[]]></item>
  146.                                 <item id="extra"><![CDATA[]]></item>
  147.                         </item>
  148.                         <item id="10">
  149.                                 <item id="displayorder"><![CDATA[10]]></item>
  150.                                 <item id="title"><![CDATA[快捷词]]></item>
  151.                                 <item id="description"><![CDATA[设置快捷词,每个词用逗号分隔]]></item>
  152.                                 <item id="variable"><![CDATA[quick_words]]></item>
  153.                                 <item id="type"><![CDATA[textarea]]></item>
  154.                                 <item id="value"><![CDATA[]]></item>
  155.                                 <item id="extra"><![CDATA[]]></item>
  156.                         </item>
  157.                         <item id="11">
  158.                                 <item id="displayorder"><![CDATA[11]]></item>
  159.                                 <item id="title"><![CDATA[自定义按钮文字]]></item>
  160.                                 <item id="description"><![CDATA[设置AI文章生成按钮的显示文字]]></item>
  161.                                 <item id="variable"><![CDATA[custom_button_text]]></item>
  162.                                 <item id="type"><![CDATA[text]]></item>
  163.                                 <item id="value"><![CDATA[按钮]]></item>
  164.                                 <item id="extra"><![CDATA[]]></item>
  165.                         </item>
  166.                         <item id="12">
  167.                                 <item id="displayorder"><![CDATA[12]]></item>
  168.                                 <item id="title"><![CDATA[敏感词]]></item>
  169.                                 <item id="description"><![CDATA[禁止生成的敏感词过滤,用逗号分隔多个敏感词]]></item>
  170.                                 <item id="variable"><![CDATA[sensitive_words]]></item>
  171.                                 <item id="type"><![CDATA[textarea]]></item>
  172.                                 <item id="value"><![CDATA[]]></item>
  173.                                 <item id="extra"><![CDATA[]]></item>
  174.                         </item>
  175.                         <item id="13">
  176.                                 <item id="displayorder"><![CDATA[13]]></item>
  177.                                 <item id="title"><![CDATA[是否在论坛列表页显示]]></item>
  178.                                 <item id="description"><![CDATA[选择是否在论坛列表页底部显示生成按钮]]></item>
  179.                                 <item id="variable"><![CDATA[show_in_forumdisplay]]></item>
  180.                                 <item id="type"><![CDATA[radio]]></item>
  181.                                 <item id="value"><![CDATA[1]]></item>
  182.                                 <item id="extra"><![CDATA[]]></item>
  183.                         </item>

  184. </item>
  185. <item id="language">
  186.     <item id="scriptlang">
  187.         <item id="setting_tips"><![CDATA[<li>如果需要使用文章生成功能,请在下方设置中启用相应配置</li>]]></item>
  188.         <item id="succeed"><![CDATA[操作成功]]></item>
  189.         <item id="failed"><![CDATA[操作失败]]></item>
  190.     </item>
  191. </item>

  192. <item id="installfile"><![CDATA[install.php]]></item>
  193. <item id="uninstallfile"><![CDATA[uninstall.php]]></item>
  194.                         <item id="extra">
  195.     <item id="css"><![CDATA[static/css/style.css]]></item>
  196.     <item id="script"><![CDATA[static/js/qier_thread.js]]></item>
  197.                 </item>
  198.         </item>
  199. </root>
复制代码


class.php代码
  1. <?php
  2. if(!defined('IN_DISCUZ')) {
  3.     exit('Access Denied');
  4. }

  5. class plugin_qier_thread {
  6.     public function post_top() {
  7.         return $this->qier_thread_button('post_top');
  8.     }

  9.     public function post_middle() {
  10.         return $this->qier_thread_button('post_middle');
  11.     }

  12.     public function post_bottom() {
  13.         return $this->qier_thread_button('post_bottom');
  14.     }

  15.     public function viewthread_fastpost_content() {
  16.         if (!$this->can_use_plugin()) return '';
  17.         global $_G;
  18.         if($_G['cache']['plugin']['qier_thread']['show_in_fastpost']) {
  19.             return $this->get_button_html();
  20.         }
  21.         return '';
  22.     }

  23.     public function forumdisplay_postbutton_bottom() {
  24.         if (!$this->can_use_plugin()) return '';
  25.         global $_G;
  26.         if($_G['cache']['plugin']['qier_thread']['show_in_forumdisplay']) {
  27.             return $this->get_button_html();
  28.         }
  29.         return '';
  30.     }

  31.     private function qier_thread_button($position) {
  32.         if (!$this->can_use_plugin()) {
  33.             return '';
  34.         }
  35.         
  36.         global $_G;
  37.         $button_position = $_G['cache']['plugin']['qier_thread']['button_position'];
  38.         
  39.         $position_map = [
  40.             'post_top' => '1',
  41.             'post_middle' => '2',
  42.             'post_bottom' => '3'
  43.         ];
  44.         
  45.         if ($button_position !== $position_map[$position]) {
  46.             return '';
  47.         }
  48.         
  49.         return $this->get_button_html();
  50.     }

  51.     private function get_button_html() {
  52.         global $_G;
  53.         $css_url = 'source/plugin/qier_thread/static/css/style.css';
  54.         $js_url = 'source/plugin/qier_thread/static/js/qier_thread.js';
  55.         
  56.         $output = '<link rel="stylesheet" type="text/css" href="' . $css_url . '" />';
  57.         $output .= '<script type="text/javascript" src="' . $js_url . '"></script>';
  58.         
  59.         $button_text = $_G['cache']['plugin']['qier_thread']['custom_button_text'] ?: '这里是个按钮';
  60.         
  61.         $button = '<button type="button" id="qier_thread_button" class="qier-thread-button">';
  62.         $button .= '<span class="qier-thread-icon"></span>';
  63.         $button .= '<span class="qier-thread-text">' . $button_text . '</span>';
  64.         $button .= '</button>';
  65.         
  66.         return $output . $button;
  67.     }

复制代码
  1. //开启日志
复制代码


post.htm
  1. <div class="qier_thread_container">
  2.     <!--{if $button_position == 1}-->
  3.     {template qier_thread:button}
  4.     <!--{/if}-->
  5.    
  6.     <!-- 其他发帖表单元素 -->
  7.    
  8.     <!--{if $button_position == 2}-->
  9.     {template qier_thread:button}
  10.     <!--{/if}-->
  11.    
  12.     <!-- 更多发帖表单元素 -->
  13.    
  14.     <!--{if $button_position == 3}-->
  15.     {template qier_thread:button}
  16.     <!--{/if}-->
  17. </div>
复制代码


botton.htm
  1. <button type="button" id="qier_thread_button" class="qier-thread-button">
  2.     <span class="qier-thread-icon"></span>
  3.     <span class="qier-thread-text">{$button_text}</span>
  4. </button>
复制代码




回复

使用道具 举报

19

主题

911

回帖

1036

积分

已臻大成

贡献
12 点
金币
15 个
QQ
发表于 2024-9-15 08:46:42 | 查看全部
上年龄了,不爱研究技术了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 关注公众号
  • 有偿服务微信
  • 有偿服务QQ

手机版|小黑屋|Discuz! 官方交流社区 ( 皖ICP备16010102号 |皖公网安备34010302002376号 )|网站地图|star

GMT+8, 2025-4-30 16:38 , Processed in 0.074377 second(s), 11 queries , Redis On.

Powered by Discuz! W1.0 Licensed

Cpoyright © 2001-2025 Discuz! Team.

关灯 在本版发帖
有偿服务QQ
有偿服务微信
返回顶部
快速回复 返回顶部 返回列表