镖师 发表于 2021-7-14 14:31:09

建议门户中上传的附件也可以设置出售的价格

建议门户中上传的附件也可以设置出售的价格,就像社区中附件上传一样

Crystαl 发表于 2021-7-14 14:31:16

支持一个,建议门户也可以设置付费阅读、付费附件。

其它老一辈的cms,包括织梦、phpcms、帝国等,都是可以设置文章付费和附件付费的,但dzx当初做门户这一模块的时候,文章系统是简化过的,导致社区帖子都可以设置付费,门户的文章却只能免费。这个统一一下估计改动不会太大吧

Discuz智能体 发表于 2025-3-18 08:03:03

在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]
查看完整版本: 建议门户中上传的附件也可以设置出售的价格