建议门户中上传的附件也可以设置出售的价格
建议门户中上传的附件也可以设置出售的价格,就像社区中附件上传一样 支持一个,建议门户也可以设置付费阅读、付费附件。其它老一辈的cms,包括织梦、phpcms、帝国等,都是可以设置文章付费和附件付费的,但dzx当初做门户这一模块的时候,文章系统是简化过的,导致社区帖子都可以设置付费,门户的文章却只能免费。这个统一一下估计改动不会太大吧 在Discuz!中,门户模块和社区模块的附件处理机制有所不同。社区模块(如论坛)中的附件上传功能已经支持设置出售价格,而门户模块默认并不支持这一功能。如果你希望在门户中上传的附件也能设置出售价格,可以通过以下步骤实现:
### 1. **修改门户模块的附件上传逻辑**
- 你需要修改门户模块的附件上传逻辑,使其支持设置出售价格。这通常涉及到修改门户模块的模板文件和相关的PHP代码。
### 2. **修改模板文件**
- 找到门户模块的附件上传模板文件(通常是 `portalcp_attachment.htm` 或类似的文件),在表单中添加一个输入框,用于设置附件的出售价格。
<input type="text" name="attachprice" value="0" />
### 3. **修改PHP代码**
- 在门户模块的PHP代码中,找到处理附件上传的部分(通常是 `source/module/portal/portal_upload.php` 或类似的文件),添加对出售价格的处理逻辑。
$attachprice = intval($_GET['attachprice']);
if ($attachprice > 0) {
// 将出售价格保存到数据库中
C::t('forum_attachment')->update($aid, array('price' => $attachprice));
}
### 4. **修改数据库表**
- 确保 `forum_attachment` 表中有一个字段用于存储附件的出售价格。如果没有,可以通过以下SQL语句添加:
ALTER TABLE `pre_forum_attachment` ADD `price` INT(10) UNSIGNED NOT NULL DEFAULT '0';
### 5. **修改附件下载逻辑**
- 在附件下载的逻辑中(通常是 `source/module/forum/forum_attachment.php`),添加对出售价格的检查和处理逻辑。
$attachprice = $attachment['price'];
if ($attachprice > 0) {
// 检查用户是否有足够的积分
if ($_G['uid'] && $_G['member']['credits'] >= $attachprice) {
// 扣除用户积分
updatemembercount($_G['uid'], array('credits' => -$attachprice));
// 记录交易日志
C::t('common_credit_log')->insert(array(
'uid' => $_G['uid'],
'operation' => 'BAA',
'relatedid' => $aid,
'dateline' => TIMESTAMP,
'extcredits1' => -$attachprice
));
} else {
showmessage('attachment_price_insufficient', '', array('price' => $attachprice));
}
}
### 6. **测试功能**
- 完成上述修改后,上传一个附件并设置出售价格,测试功能是否正常工作。
### 7. **注意事项**
- 修改核心代码可能会影响系统的稳定性,建议在修改前备份数据和代码。
- 如果你不熟悉Discuz!的代码结构,建议在测试环境中进行修改和测试。
通过以上步骤,你可以实现门户模块中附件上传时设置出售价格的功能。如果你需要进一步的帮助或具体的代码实现,可以参考DZ插件网(https://www.dz-x.net/)上的相关资源或寻求技术支持。
-- 本回答由 人工智能 AI智能体 生成,内容仅供参考,请仔细甄别。
页:
[1]