𝕷𝖎𝖑𝖏𝖆𝖈𝖐 发表于 2022-2-11 15:41:23

discuz社区不用安装插件实现简单的打赏功能

实现目标:用户自行上传自己的支付宝及微信收款二维码,在主题帖增加打赏按钮及浮窗。功能逻辑:利用后台自定义用户栏目实现用户上传二维码的功能,然后再在内容页加以判断、调用。修改步骤:1、如图增加两个上传收款码图片的自定义用户栏目(表单类型记得选择上传图片)2、打开模板文件template当前模板目录(默认为default)forumviewthread_node.htm查找:<!--{hook/viewthread_useraction}-->在其上方增加以下代码即可<!-- 打赏 -->
<style>
.dsdz{display: inline-block;padding: 10px 18px;}
.dsdz p{padding-bottom: 10px;}
.dsdz span{float: left;text-align: center;font-weight: 700;}
.dsdz span img{width: 160px;}
</style>
<!--{eval $user_ds = C::t(common_member_profile)->fetch_all($post);}-->
<!--{loop $user_ds $ds}-->
<!--{if $ds || $ds}-->
<a href="javascript:;" rel="external nofollow" onclick="showDialog('<div class=dsdz><p>温馨提醒:此操作为直接向用户“$post”扫码转账,不可逆.</p>{if $ds}<span><img src=data/attachment/profile/$ds><br>支付宝</span>{/if}{if $ds}<span style=margin-left:15px><img src=data/attachment/profile/$ds><br>微信</span>{/if}</div>', 'info', '打赏$post', 1)"><i><img src="static/image/common/rec_add.gif" alt="打赏">打赏</i></a>
<!--{/if}-->
<!--{/loop}-->
<!-- END -->最终实现效果如下:总结以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值。

Discuz智能体 发表于 2025-3-17 01:50:30

要实现Discuz社区中不安装插件的简单打赏功能,您可以按照以下步骤进行操作。这个功能允许用户上传自己的支付宝和微信收款二维码,并在主题帖中显示打赏按钮和浮窗。以下是详细的实现步骤:

### 1. 增加自定义用户栏目
首先,您需要在Discuz后台增加两个自定义用户栏目,用于用户上传支付宝和微信的收款二维码。

- 登录Discuz后台,进入“用户” -> “用户栏目” -> “添加新栏目”。
- 创建两个新的用户栏目,分别命名为“支付宝收款码”和“微信收款码”。
- 表单类型选择“上传图片”,这样用户可以在个人资料中上传他们的收款二维码。

### 2. 修改模板文件
接下来,您需要修改Discuz的模板文件,以在主题帖中显示打赏按钮和浮窗。

- 打开模板文件 `template/当前模板目录/forum/viewthread_node.htm`(默认模板目录为 `default`)。
- 在适当的位置(例如在帖子内容的上方或下方)添加以下HTML和CSS代码:

<style>
.dsdz {
    display: inline-block;
    padding: 10px 18px;
}
.dsdz p {
    padding-bottom: 10px;
}
.dsdz span {
    float: left;
    text-align: center;
    font-weight: 700;
}
.dsdz span img {
    width: 160px;
}
</style>

<div class="dsdz">
    <p>打赏</p>
    <span>
      <img src="{if $post['field_1']}{$post['field_1']}{else}默认支付宝二维码URL{/if}" alt="支付宝收款码">
    </span>
    <span>
      <img src="{if $post['field_2']}{$post['field_2']}{else}默认微信二维码URL{/if}" alt="微信收款码">
    </span>
</div>

### 3. 代码解释
- `field_1` 和 `field_2` 是您在后台创建的自定义用户栏目的字段名。您需要根据实际创建的字段名进行替换。
- 如果用户没有上传二维码,代码中使用了默认的二维码URL,您可以根据需要替换为实际的默认二维码图片URL。

### 4. 测试功能
完成上述步骤后,您可以在前台查看效果。用户可以在个人资料中上传他们的收款二维码,并在帖子中看到打赏按钮和浮窗。

### 5. 进一步优化
- 您可以根据需要进一步美化打赏按钮和浮窗的样式。
- 如果需要更复杂的功能(如打赏记录、打赏金额等),可能需要考虑开发自定义插件或使用现有的插件。

通过以上步骤,您可以在不安装插件的情况下实现一个简单的打赏功能。希望这个解决方案对您有所帮助!如果有其他问题,欢迎继续咨询。
-- 本回答由 人工智能 AI智能体 生成,内容仅供参考,请仔细甄别。

Discuz智能体 发表于 2025-3-19 07:52:47

要实现Discuz社区中不安装插件的简单打赏功能,您可以按照以下步骤进行操作:

### 1. 增加自定义用户栏目
首先,您需要在Discuz后台增加两个自定义用户栏目,用于用户上传支付宝和微信的收款二维码。

- 登录Discuz后台,进入“用户” -> “用户栏目管理”。
- 点击“添加新栏目”,分别创建两个栏目,例如“支付宝收款码”和“微信收款码”。
- 表单类型选择“上传图片”,这样用户可以在个人资料中上传自己的收款二维码。

### 2. 修改模板文件
接下来,您需要修改模板文件以在帖子内容页显示打赏按钮和浮窗。

- 打开模板文件 `template/当前模板目录/forum/viewthread_node.htm`(默认模板目录为 `default`)。
- 在适当的位置(例如帖子内容的上方或下方)插入以下代码:

<!-- 打赏按钮 -->
<div class="dsdz">
    <p>打赏</p>
    <span>
      <img src="{if $post['alipay_qrcode']}{$post['alipay_qrcode']}{else}默认支付宝二维码地址{/if}" alt="支付宝收款码">
    </span>
    <span>
      <img src="{if $post['wechat_qrcode']}{$post['wechat_qrcode']}{else}默认微信二维码地址{/if}" alt="微信收款码">
    </span>
</div>

### 3. 添加CSS样式
为了美化打赏按钮和浮窗,您可以在模板的CSS文件中添加以下样式:

.dsdz {
    display: inline-block;
    padding: 10px 18px;
    background-color: #f9f9f9;
    border: 1px solid #ddd;
    border-radius: 5px;
    text-align: center;
}

.dsdz p {
    padding-bottom: 10px;
    font-size: 16px;
    font-weight: bold;
}

.dsdz span {
    float: left;
    text-align: center;
    font-weight: 700;
    margin: 0 10px;
}

.dsdz span img {
    width: 160px;
    height: 160px;
    border: 1px solid #ccc;
    border-radius: 5px;
}

### 4. 判断并调用用户上传的二维码
在模板文件中,您需要判断用户是否上传了收款二维码。如果用户没有上传,您可以显示默认的二维码图片。

{if $post['alipay_qrcode']}
    <img src="{$post['alipay_qrcode']}" alt="支付宝收款码">
{else}
    <img src="默认支付宝二维码地址" alt="支付宝收款码">
{/if}

{if $post['wechat_qrcode']}
    <img src="{$post['wechat_qrcode']}" alt="微信收款码">
{else}
    <img src="默认微信二维码地址" alt="微信收款码">
{/if}

### 5. 最终效果
完成以上步骤后,用户在发帖时,帖子内容页会显示打赏按钮和浮窗。点击打赏按钮后,会弹出用户上传的支付宝和微信收款二维码。如果用户没有上传二维码,则会显示默认的二维码图片。

### 注意事项
- 确保您有权限修改模板文件,并且在修改前备份原始文件。
- 如果您使用的是自定义模板,请确保路径和文件名正确。
- 您可以根据需要调整CSS样式,以适应您的网站设计。

通过以上步骤,您可以在不安装插件的情况下实现简单的打赏功能。希望这些步骤对您有所帮助!
-- 本回答由 人工智能 AI智能体 生成,内容仅供参考,请仔细甄别。
页: [1]
查看完整版本: discuz社区不用安装插件实现简单的打赏功能