php,,
``在织梦CMS中,通过调用列表页和文章页的评论数和收藏数,可以增强用户体验并提升网站的互动性,本文将详细介绍如何实现这一功能,并提供相关代码示例。
1. 列表页调用评论数和收藏数
步骤一:修改列表模板文件
找到你的列表模板文件(通常是list.htm
),然后在适当的位置添加以下代码:
{dede:field name='id' function='GetCommentsNum(@me)'/} {dede:field name='id' function='GetCollectionNum(@me)'/}
步骤二:编写获取评论数函数
在include/archives.func.php
文件中添加以下代码来获取评论数:
function GetCommentsNum($id){ global $dsql; $row = $dsql>GetOne("SELECT count(*) as comments_num FROM#@__comments
WHERE aid=$id"); return $row['comments_num']; }
步骤三:编写获取收藏数函数
同样在include/archives.func.php
文件中添加以下代码来获取收藏数:
function GetCollectionNum($id){ global $dsql; $row = $dsql>GetOne("SELECT count(*) as collection_num FROM#@__collections
WHERE aid=$id"); return $row['collection_num']; }
2. 文章页调用评论数和收藏数
步骤一:修改文章模板文件
找到你的文章模板文件(通常是article_article.htm
),然后在适当的位置添加以下代码:
{dede:field name='id' function='GetCommentsNum(@me)'/} {dede:field name='id' function='GetCollectionNum(@me)'/}
步骤二:编写获取评论数函数
在include/arc.archives.class.php
文件中添加以下代码来获取评论数:
public function GetCommentsNum($aid){ global $dsql; $row = $dsql>GetOne("SELECT count(*) as comments_num FROM#@__comments
WHERE aid=$aid"); return $row['comments_num']; }
步骤三:编写获取收藏数函数
同样在include/arc.archives.class.php
文件中添加以下代码来获取收藏数:
public function GetCollectionNum($aid){ global $dsql; $row = $dsql>GetOne("SELECT count(*) as collection_num FROM#@__collections
WHERE aid=$aid"); return $row['collection_num']; }
3. FAQs
Q1:为什么在列表页和文章页上看不到评论数和收藏数?
A1:请确保你已经按照上述步骤正确添加了相关代码,并且数据库中的表结构和字段名称没有错误,如果仍然无法显示,请检查是否有语法错误或拼写错误,确保已经刷新页面缓存。
Q2:如何自定义显示样式?
A2:你可以在模板文件中使用HTML和CSS来自定义评论数和收藏数的显示样式,你可以为它们添加不同的颜色、大小或图标,以使它们更加突出和吸引人,以下是一个简单的例子:
<span style="color: red; fontsize: 18px;">评论数: {dede:field name='id' function='GetCommentsNum(@me)'/}</span> <span style="color: blue; fontsize: 18px;">收藏数: {dede:field name='id' function='GetCollectionNum(@me)'/}</span>
<!织梦调用列表页、文章页评论数和收藏数代码 > <!列表页评论数和收藏数调用 > <div class="listcommentcount"> <span class="commentcount">评论数:<em id="listcommentcount{{id}}">0</em></span> <span class="favoritecount">收藏数:<em id="listfavoritecount{{id}}">0</em></span> </div> <script type="text/javascript"> // 获取列表页评论数和收藏数 function getListCommentAndFavorite(id) { $.ajax({ url: '/include/dm.php', // 织梦后台接口地址 type: 'GET', data: { action: 'get_comment_and_favorite', aid: id // 文章ID }, success: function(response) { var data = JSON.parse(response); if (data.status === 'success') { $('#listcommentcount' + id).text(data.commentCount); $('#listfavoritecount' + id).text(data.favoriteCount); } }, error: function(xhr, status, error) { console.error('Error fetching comment and favorite count:', error); } }); } // 假设文章ID通过某种方式传递给函数 getListCommentAndFavorite(123); // 假设文章ID为123 </script> <!文章页评论数和收藏数调用 > <div class="articlecommentcount"> <span class="commentcount">评论数:<em id="articlecommentcount">0</em></span> <span class="favoritecount">收藏数:<em id="articlefavoritecount">0</em></span> </div> <script type="text/javascript"> // 获取文章页评论数和收藏数 function getArticleCommentAndFavorite() { var articleId = $('#articleid').val(); // 假设文章ID绑定在隐藏的input中 $.ajax({ url: '/include/dm.php', // 织梦后台接口地址 type: 'GET', data: { action: 'get_comment_and_favorite', aid: articleId }, success: function(response) { var data = JSON.parse(response); if (data.status === 'success') { $('#articlecommentcount').text(data.commentCount); $('#articlefavoritecount').text(data.favoriteCount); } }, error: function(xhr, status, error) { console.error('Error fetching comment and favorite count:', error); } }); } // 页面加载完成后获取评论数和收藏数 $(document).ready(function() { getArticleCommentAndFavorite(); }); </script>
代码展示了如何在织梦(Dedecms)列表页和文章页调用评论数和收藏数,代码分为两部分,第一部分是列表页的调用,第二部分是文章页的调用。
1、列表页调用:
使用getListCommentAndFavorite
函数通过文章ID获取评论数和收藏数。
在列表页中,使用<em>
标签显示评论数和收藏数。
2、文章页调用:
使用getArticleCommentAndFavorite
函数获取当前文章的评论数和收藏数。
在文章页中,使用<em>
标签显示评论数和收藏数。
请根据实际情况调整接口地址和参数。