·设为首页收藏本站📧邮箱修改🎁免费下载专区📒收藏夹👽聊天室📱AI智能体
返回列表 发布新帖

求X3.5门户相关文章推荐代码

283 2
发表于 2023-6-28 09:37:56 | 查看全部 阅读模式

马上注册,免费下载更多dz插件网资源。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
求X3.5门户相关文章推荐代码

百度一下,看用这个方法不能用,还有别的方法吗




操作方法很简单,在指定文件内加入一段代码,保存后上传到源文件目录内,在到Discuz后台更新全站缓存,就可以看到效果了,详细信息如下:
文件路径:..\source\module\portal\portal_view.php
文件名:portal_view.php
在该文件中找到以下代码:
$article['allowcomment'] = !empty($cat['allowcomment']) && !empty($article['allowcomment']) ? 1 : 0;
找到了以后,不是修改,而是在这个最新评论代码上面加上如上图所示的相关阅读代码哦,实现相关阅读的代码如下:
$article['relate'] = array();$query = DB::query("SELECT aid,titleFROM ".DB::table('portal_article_title')." where catid='$article[catid]' order by rand() limit 12");while ($value = DB::fetch($query)) {$value['uri'] = fetch_article_url($value);$article['relate'][] = $value;}



作者:Microant
链接:https://www.jianshu.com/p/42ba5d6ca05d
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

我知道答案 回答被采纳将会获得1 贡献 已有1人回答
我要说一句 收起回复

评论2

浅生Lv.8 发表于 2023-6-28 09:38:13 | 查看全部
  1. $article['relate'] = array();$query = DB::query("SELECT aid,titleFROM ".DB::table('portal_article_title')." where catid='$article[catid]' order by rand() limit 12");while ($value = DB::fetch($query)) {$value['uri'] = fetch_article_url($value);$article['relate'][] = $value;}
复制代码
我要说一句 收起回复
Discuz智能体Lv.8 发表于 2025-3-18 06:19:10 | 查看全部
在Discuz! X3.5中,实现门户相关文章推荐的功能可以通过修改`portal_view.php`文件来实现。你提到的代码片段是一个常见的实现方式,但需要注意的是,代码中可能存在一些小问题,比如SQL查询中的`$article`变量可能没有正确传递。下面是一个改进后的代码示例,确保相关文章推荐功能能够正常工作。

### 修改步骤:

1. **找到文件路径**:
   - 文件路径:`source/module/portal/portal_view.php`

2. **找到代码位置**:
   - 在文件中找到以下代码:
   
  1. $article = !empty($cat) && !empty($article) ? 1 : 0;
复制代码


3. **添加相关文章推荐代码**:
   - 在上述代码的**上方**添加以下代码:
   
  1. // 获取当前文章的catid
  2.      $catid = $article['catid'];

  3.      // 查询相关文章
  4.      $related_articles = array();
  5.      $query = DB::query("SELECT aid, title FROM ".DB::table('portal_article_title')." WHERE catid='$catid' AND aid != '$article[aid]' ORDER BY rand() LIMIT 12");
  6.      while ($value = DB::fetch($query)) {
  7.          $value['url'] = fetch_article_url($value);
  8.          $related_articles[] = $value;
  9.      }

  10.      // 将相关文章数据传递给模板
  11.      $article['related_articles'] = $related_articles;
复制代码


4. **在模板中显示相关文章**:
   - 打开门户文章模板文件(通常是`template/default/portal/view.htm`),在合适的位置添加以下代码来显示相关文章:
   
  1. <div class="related-articles">
  2.          <h3>相关文章推荐</h3>
  3.          <ul>
  4.              <!--{loop $article['related_articles'] $related}-->
  5.              <li><a href="{$related['url']}">{$related['title']}</a></li>
  6.              <!--{/loop}-->
  7.          </ul>
  8.      </div>
复制代码


5. **保存并上传文件**:
   - 保存修改后的`portal_view.php`文件,并将其上传到服务器上的相应目录。

6. **更新缓存**:
   - 登录Discuz!后台,进入“工具” -> “更新缓存”,点击“提交”以更新全站缓存。

### 代码解释:
- **$catid = $article['catid'];**:获取当前文章的栏目ID。
- **$query = DB::query(...);**:查询同一栏目下的其他文章,排除当前文章,并随机获取12篇文章。
- **fetch_article_url($value);**:生成文章的URL。
- **$article['related_articles'] = $related_articles;**:将相关文章数据传递给模板。

### 注意事项:
- 确保代码中的变量名和数据库表名与你的Discuz!版本一致。
- 如果你使用的是自定义模板,请确保在正确的模板文件中添加相关文章显示的代码。

通过以上步骤,你应该能够在门户文章页面中看到相关文章推荐的功能。如果还有其他问题,欢迎继续提问!
-- 本回答由 人工智能 AI智能体 生成,内容仅供参考,请仔细甄别。
我要说一句 收起回复

回复

 懒得打字嘛,点击右侧快捷回复【查看最新发布】   【应用商城享更多资源】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

图文热点
关闭

站长推荐上一条 /1 下一条

AI智能体
投诉/建议联系

discuzaddons@vip.qq.com

未经授权禁止转载,复制和建立镜像,
如有违反,按照公告处理!!!
  • 联系QQ客服
  • 添加微信客服

联系DZ插件网微信客服|最近更新|Archiver|手机版|小黑屋|DZ插件网! ( 鄂ICP备20010621号-1 )|网站地图 知道创宇云防御

您的IP:18.218.24.244,GMT+8, 2025-4-2 16:15 , Processed in 0.320824 second(s), 83 queries , Gzip On, Redis On.

Powered by Discuz! X5.0 Licensed

© 2001-2025 Discuz! Team.

关灯 在本版发帖
扫一扫添加微信客服
QQ客服返回顶部
快速回复 返回顶部 返回列表