收费阅读概述
织梦CMS的收费阅读功能允许将栏目或文章设置为需要付费才能查看。系统支持积分消费、金币消费和会员等级消费三种模式,适用于知识付费、VIP内容和付费教程等场景。
一、启用收费阅读功能
- 进入
系统 > 系统基本参数 > 会员设置 - 开启以下功能:
启用会员系统: 是 启用消费功能: 是 消费货币类型: 金币 / 积分 默认阅读权限: 0(开放阅读)
二、栏目级收费设置
为整个栏目设置收费规则:
- 进入
核心 > 栏目管理 - 点击目标栏目的"更改"
- 设置"收费设置":
栏目默认消费金币: 5金币/篇 栏目默认消费积分: 10积分/篇 最低会员等级: 中级会员(50)
三、单篇文章设置收费
在发布文章时设置:
阅读权限: 10(需注册会员) 金币消费: 10(阅读本文需10金币) 积分消费: 0 免费阅读字数: 200(前200字免费预览)
四、模板中实现付费内容展示
<!-- 文章内容页判断用户是否已付费 -->
{dede:php}
$aid=$refObj->Fields['id'];
$arcrank=$refObj->Fields['arcrank'];
$money=$refObj->Fields['money']; // 消费金币数
$hasPaid=false;
if($cfg_ml->IsLogin()){
$uid=$cfg_ml->M_ID;
// 检查是否已购买
$check=$dsql->GetOne("SELECT id FROM dede_member_buys
WHERE mid={$uid} AND aid={$aid}");
if($check) $hasPaid=true;
}
if($money > 0 && !$hasPaid){
// 显示付费墙
echo '<div class="paywall">
<h3>?? 本文为付费内容</h3>
<p>阅读完整内容需要支付 <strong>'.$money.'金币</strong></p>
<p>您当前余额:<strong>'.$cfg_ml->M_Money.'</strong> 金币</p>
<a href="/member/buy.php?aid='.$aid.'"
class="buy-btn">立即购买</a>
</div>';
} else {
// 已付费,显示完整内容
echo $refObj->Fields['body'];
}
{/dede:php}
五、部分内容免费预览
<!-- 前300字免费,之后需付费 -->
{dede:php}
$body=$refObj->Fields['body'];
$freeLen=300;
$plainText=strip_tags($body);
if(strlen($plainText) > $freeLen && !$hasPaid){
// 截取免费部分
$freeContent=mb_substr($plainText, 0, $freeLen);
echo '<div class="free-preview">'.$freeContent.'</div>';
// 付费引导
echo '<div class="paywall-blur">
<div class="blur-content">'.mb_substr($plainText, $freeLen, 100).'</div>
<div class="pay-prompt">
<p>--- 以下为付费内容,需要支付 '.$money.' 金币 ---</p>
<a href="/member/buy.php?aid='.$aid.'">购买后阅读全文</a>
</div>
</div>';
}
{/dede:php}
六、栏目付费统计
管理员查看栏目的付费收入:
-- 查看栏目下文章的付费收入 SELECT a.typeid, COUNT(*) as buy_count, SUM(m.money) as total_income FROM dede_member_buys m LEFT JOIN dede_archives a ON m.aid=a.id WHERE a.typeid=栏目ID GROUP BY a.typeid; -- 查看所有栏目的付费排行 SELECT t.typename, COUNT(m.id) as counts, SUM(m.money) as income FROM dede_member_buys m LEFT JOIN dede_archives a ON m.aid=a.id LEFT JOIN dede_arctype t ON a.typeid=t.id GROUP BY a.typeid ORDER BY income DESC;
运营建议:设置付费内容时,建议提供"免费预览"功能让用户体验内容质量后再决定是否付费。同时应提供明确的退款或售后渠道,提升用户信任度。付费内容比例建议控制在整体内容的10%-20%,避免影响网站的免费用户群体。