首页  >  文章  >  CMS教程  >  dedecms怎么实现楼层数

dedecms怎么实现楼层数

藏色散人
藏色散人原创
2019-11-19 11:34:331845浏览

dedecms怎么实现楼层数

dedecms怎么实现楼层数?

DEDE评论效果:

推荐:《dedecms教程

234d6df2d6294b7d6a2fdbdb59fb128.png

修改后的效果:

5d4b4e6b0d690d17ce60df2f619a3d1.png

修改步骤

一、5.5版本(5.6版本请往下看)

1、修改/plus/feedback_ajax.php文件的第131行(如果你没改过)

下面是修改之前的代码:

$qmsg = '{quote}{title}'.$row['username'].' 的原帖:{/title}{content}'.$row['msg'].'{/content}{/quote}';

下面是修改后的代码:

代码如下:

//$qmsg = '{quote}{title}'.$row['username'].' 的原帖:{/title}{content}'.$row['msg'].'{/content}{/quote}';
$floors = substr_count($row['msg'], '{title}');//查找评论中楼层数
if ($floors > 0) {
$floors += 1;
$floor_html = '{floor}' . $floors . '{/floor}';
}
else {
$floor_html = '{floor}1{/floor}';
}
$quotetitle = '{title}引用' . $row['username'] . '的评论'. $floor_html .'{/title}';
$oldquote = '';//以前的引用
$quotemsg = $row['msg'];
if ($floors > 0) {
$oldquoteend = strrpos($quotemsg, '{/quote}') + 8;
$oldquote = substr($quotemsg, 0, $oldquoteend);
$quotemsg = substr($quotemsg, $oldquoteend);
}
$qmsg = '{quote}' . $oldquote . $quotetitle . '{content}' . $quotemsg . '{/content}{/quote}';

2、在/include/channelunit.func.php文件的516行,就是在return $quote;代码前插入两行代码

下面是修改之前的代码:

return $quote;

下面是修改之后的代码:

代码如下:

$quote = str_replace(&#39;{floor}&#39;,&#39;<span class="floor">&#39;,$quote);
$quote = str_replace(&#39;{/floor}&#39;,&#39;</span>&#39;,$quote);
return $quote;

3、在/templets/style/dedecms.css文件末尾加入下面的CSS代码(任意位置均可)

代码如下:

.floor {
float:right;
padding-right:10px;
}

4、PHP技术有限,有更好的实现方法请指正,经以上修改失败请回帖,修改成功后记得顶个贴^_^

二、5.6版本

1、修改/templets/plus/feedback_quote.htm文件的第94行(如果你没改过)

下面是修改之前的代码:

代码如下:

<input type="hidden" name="quotemsg" value="{quote}<?php echo &#39;{title}&#39;.$row[&#39;username&#39;].&#39; 的原帖:{/title}{content}&#39;.$row[&#39;msg&#39;].&#39;{/content}&#39;; ?>{/quote}" />

下面是修改后的代码:

代码如下:

<input type="hidden" name="quotemsg" value="<?php
//echo &#39;{quote}{title}&#39;.$row[&#39;username&#39;].&#39; 的原帖:{/title}{content}&#39;.$row[&#39;msg&#39;].&#39;{/content}{/quote}&#39;;
floors = substr_count($row[&#39;msg&#39;], &#39;{title}&#39;);//计算评论中楼层数
if ($floors > 0) {
$floors += 1;
$floor_html = &#39;{floor}&#39; . $floors . &#39;{/floor}&#39;;
}
else {
$floor_html = &#39;{floor}1{/floor}&#39;;
}
$quotetitle = &#39;{title}&#39; . $row[&#39;username&#39;] . &#39;的原帖&#39;. $floor_html .&#39;{/title}&#39;;
$oldquote = &#39;&#39;;//以前的引用
$quotemsg = $row[&#39;msg&#39;];
if ($floors > 0) {
$oldquoteend = strrpos($quotemsg, &#39;{/quote}&#39;) + 8;
$oldquote = substr($quotemsg, 0, $oldquoteend);
$quotemsg = substr($quotemsg, $oldquoteend);
}
echo &#39;{quote}&#39; . $oldquote . $quotetitle . &#39;{content}&#39; . $quotemsg . &#39;{/content}{/quote}&#39;;
?>" />

2、在/include/channelunit.func.php文件的519行,就是在return $quote;代码前插入两行代码

下面是修改之前的代码:

return $quote;

下面是修改之后的代码:

代码如下:

$quote = str_replace(&#39;{floor}&#39;,&#39;<span class="floor">&#39;,$quote);
$quote = str_replace(&#39;{/floor}&#39;,&#39;</span>&#39;,$quote);
return $quote;

3、修改/templets/default/style/page.css文件的第1169行

下面是修改之前的代码:

代码如下:

.decmt-content .decmt-box,.dede_comment .decmt-box .decmt-box {
background:#FFE;
border:1px solid #CCC;
margin:6px auto;
}

下面是修改之后的代码:

代码如下:

/* .decmt-content .decmt-box,.dede_comment */.decmt-box .decmt-box {
background:#FFE;
border:1px solid #CCC;
margin:6px auto;
}
.floor{
float:right;
padding-right:10px;
}
.decmt-title{
margin-bottom:5px;
}

以上是dedecms怎么实现楼层数的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn