ホームページ  >  記事  >  CMS チュートリアル  >  dedecms はどのように階数を認識するのか

dedecms はどのように階数を認識するのか

藏色散人
藏色散人オリジナル
2019-11-19 11:34:331892ブラウズ

dedecms はどのように階数を認識するのか

dedecms階数を実現するにはどうすればよいですか?

DEDE コメント効果:

推奨: 「dedecms チュートリアル

dedecms はどのように階数を認識するのか

##修正最終効果:

dedecms はどのように階数を認識するのか

修正手順

1. バージョン 5.5 (バージョン 5.6 については以下をお読みください)

1. 修正/プラス行/フィードバック_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 の前に 2 行のコードを挿入します。 code

次のは変更前のコードです:

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. 次の CSS コードを (任意の場所に) 追加します。 /templets/style/dedecms.css ファイルの最後 すべて OK)

コードは次のとおりです:

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

4. PHP テクノロジには限界があります。より良い実装方法がある場合は、を修正してください。上記の変更が失敗した場合は、返信してください。変更が成功した場合は、「いいね」を忘れないでください^_ ^

2. バージョン 5.6

1. の 94 行目を変更します。 /templets/plus/フィードバック_引用.htm ファイル (変更していない場合)

以下は変更前のコードです:

コードは次のとおりです:

<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. In/include/channelunit.func .php ファイルの 519 行目では、.php ファイルの前に 2 行のコードを挿入します。 return $quote; code

以下は変更前のコードです:

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 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。