差别
这里会显示出您选择的修订版和当前版本之间的差别。
后一修订版 | 前一修订版 | ||
themes:custom-comments [2013/10/21 06:55] – 外部编辑 127.0.0.1 | themes:custom-comments [2024/06/12 10:10] (当前版本) – 外部编辑 127.0.0.1 | ||
---|---|---|---|
行 1: | 行 1: | ||
====== 自定义评论列表区域 ====== | ====== 自定义评论列表区域 ====== | ||
- | 假如我们要实现一段这样的评论的 | + | ===== 一、自定义单条评论的HTML代码 |
- | <code html>< | + | 在自定义评论前,我们得先设计好单条评论的 HTML 代码结构,如: |
- | <div id=\" | + | |
- | <div class=\" | + | <code html>< |
- | <img class=\" | + | <div id=" |
- | <cite class=\"fn\">< | + | <div class=" |
+ | <img class=" | ||
+ | <cite class=" | ||
</ | </ | ||
- | <div class=\" | + | <div class=" |
- | <a href=\" | + | <a href=" |
- | <span class=\" | + | <span class=" |
</ | </ | ||
< | < | ||
- | </ | + | </ |
- | <div class=\" | + | <div class=" |
<!-- 嵌套评论相关 --> | <!-- 嵌套评论相关 --> | ||
</ | </ | ||
</ | </ | ||
- | 如何去实现呢?首先要打开模板文件夹里的 comments.php 文件,做好修改准备。 | + | 自定义好HTML代码后,将如何去实现呢?首先我们要打开模板文件夹里的 comments.php 文件,做好修改准备。 |
- | ===== 一、把上面的代码,也即你要自定义的 html 代码,复制到这个文件的最上面 | + | ===== 二、使用自定义评论函数 |
- | ===== 二、在这段代码的外围加入自定义评论样式的函数 | + | 打开 comments.php 文件后,我们需要在它的顶部,插入以下函数代码: |
<code php><? | <code php><? | ||
- | $commentClass = \'\'; | + | $commentClass = ''; |
if ($comments-> | if ($comments-> | ||
if ($comments-> | if ($comments-> | ||
- | $commentClass .= \' comment-by-author\'; | + | $commentClass .= ' comment-by-author'; |
} else { | } else { | ||
- | $commentClass .= \' comment-by-user\'; | + | $commentClass .= ' comment-by-user'; |
} | } | ||
} | } | ||
- | $commentLevelClass = $comments-> | + | $commentLevelClass = $comments-> |
- | ?> // | + | ?> |
- | // | + | /* 自定义评论的代码结构 */ |
- | <?php } ?> // | + | <?php } ?></ |
- | ===== 三、在 li 的 css 样式中判断不同层次的、不同 ID 的评论,并添加 css 样式 ===== | + | 其次,将我们刚才自定义好的单条评论的 HTML 代码,放在上面代码里注释的地方,如下: |
- | 注意区别下面两句的不同地方 | + | <code html><? |
+ | $commentClass = ''; | ||
+ | if ($comments-> | ||
+ | if ($comments-> | ||
+ | $commentClass .= ' comment-by-author'; | ||
+ | } else { | ||
+ | $commentClass .= ' comment-by-user'; | ||
+ | } | ||
+ | } | ||
+ | $commentLevelClass = $comments-> | ||
+ | ?> | ||
- | <code html><li id=\" | + | /* 自定义评论的代码结构 */ |
+ | <li id=" | ||
+ | <div id=" | ||
+ | <div class=" | ||
+ | <img class=" | ||
+ | <cite class=" | ||
+ | </ | ||
+ | <div class=" | ||
+ | <a href=" | ||
+ | <span class=" | ||
+ | </ | ||
+ | < | ||
+ | </ | ||
+ | <div class=" | ||
+ | <!-- 嵌套评论相关 --> | ||
+ | </ | ||
+ | </li> | ||
- | 加入判断代码之后,第一处是判断评论 ID,后者是判断当前评论是父级评论还是子级评论,且判断评论 ID 的奇偶数 | + | <?php } ?></ |
- | <code php>< | + | ===== 三、用系统的评论变量替换HTML中相关属性 ===== |
+ | |||
+ | 把 HTML 里相关的属性,替换成 typecho 系统中的评论变量,变量的列表可以参考下面。下面的例子,是替换评论的 id: | ||
+ | |||
+ | <code html>< | ||
+ | <li id=" | ||
+ | |||
+ | <code php>/* 替换后 */ | ||
+ | <li id=" | ||
if ($comments-> | if ($comments-> | ||
- | echo \' comment-child\'; | + | echo ' comment-child'; |
- | $comments-> | + | $comments-> |
} else { | } else { | ||
- | echo \' comment-parent\'; | + | echo ' comment-parent'; |
} | } | ||
- | $comments-> | + | $comments-> |
echo $commentClass; | echo $commentClass; | ||
- | ?>\"></ | + | ?>"></ |
- | ===== 四、添加评论者的相关信息和评论内容 ===== | + | 其中,替换ID这里,还需要判断判断当前评论是父级评论还是子级评论,且判断评论 ID 的奇偶数等。 |
- | <code html>< | + | ===== 四、添加嵌套评论(子评论) ===== |
- | <div class=\" | + | |
- | <img class=\" | + | |
- | <cite class=\" | + | |
- | </ | + | |
- | <div class=\" | + | |
- | <a href=\" | + | |
- | <span class=\" | + | |
- | </ | + | |
- | < | + | |
- | </ | + | |
- | 更改后代码,注意各个信息的代码是什么 | + | 替换前: |
- | < | + | < |
- | | + | < |
- | <? | + | |
- | <cite class=\" | + | |
- | </ | + | |
- | <div class=\" | + | |
- | <a href=\"<? | + | |
- | <span class=\" | + | |
- | </ | + | |
- | <?php $comments-> | + | |
</ | </ | ||
- | 相关参数及说明: | + | 替换后后如下: |
- | <code php><? | + | <code php><? |
- | <? | + | <div class=" |
- | <?php $comments->permalink(); | + | <?php $comments-> |
- | <?php $comments-> | + | </div> |
- | <?php $comments->reply(); ?> // | + | <? |
- | <? | + | |
- | ===== 五、添加嵌套评论(子评论)的代码 | + | ===== 五、相关变量及说明 |
- | < | + | < |
- | <!-- 嵌套评论相关 | + | <?php $comments-> |
- | </div></ | + | <?php $comments-> |
+ | <?php $comments-> | ||
+ | <?php $comments-> | ||
+ | <?php $comments->content(); ?> // | ||
- | 更改后如下: | + | ===== 六、最终得到的代码 ===== |
- | + | ||
- | <code php><? | + | |
- | <div class=\" | + | |
- | <?php $comments-> | + | |
- | </ | + | |
- | <?php } ?> // | + | |
- | 到这里整个自定义评论样式到这里就结束了,**最终得到**的便是以下代码 | + | 当我们把上面所有变量都替换完成之后,最终得到的代码如下: |
<code php><? | <code php><? | ||
- | $commentClass = \'\'; | + | $commentClass = ''; |
if ($comments-> | if ($comments-> | ||
if ($comments-> | if ($comments-> | ||
- | $commentClass .= \' comment-by-author\'; | + | $commentClass .= ' comment-by-author'; |
} else { | } else { | ||
- | $commentClass .= \' comment-by-user\'; | + | $commentClass .= ' comment-by-user'; |
} | } | ||
} | } | ||
| | ||
- | $commentLevelClass = $comments-> | + | $commentLevelClass = $comments-> |
?> | ?> | ||
- | <li id=\" | + | <li id=" |
if ($comments-> | if ($comments-> | ||
- | echo \' comment-child\'; | + | echo ' comment-child'; |
- | $comments-> | + | $comments-> |
} else { | } else { | ||
- | echo \' comment-parent\'; | + | echo ' comment-parent'; |
} | } | ||
- | $comments-> | + | $comments-> |
echo $commentClass; | echo $commentClass; | ||
- | ?>\"> | + | ?>"> |
- | <div id=\"<? | + | <div id="<? |
- | <div class=\" | + | <div class=" |
- | <?php $comments-> | + | <?php $comments-> |
- | <cite class=\"fn\"><? | + | <cite class=" |
</ | </ | ||
- | <div class=\" | + | <div class=" |
- | <a href=\"<? | + | <a href="<? |
- | <span class=\" | + | <span class=" |
</ | </ | ||
<?php $comments-> | <?php $comments-> | ||
</ | </ | ||
<?php if ($comments-> | <?php if ($comments-> | ||
- | <div class=\" | + | <div class=" |
<?php $comments-> | <?php $comments-> | ||
</ | </ | ||
行 156: | 行 170: | ||
<?php } ?></ | <?php } ?></ | ||
- | **注意:**上面的自定义评论代码输出的就是本来评论页里的这段代码,所以你就不用对原来的这段代码做任何更改了。 | + | **注意:**上面的自定义评论代码输出的,就是本来评论页里的下面这段代码,所以你就不用对这段代码做任何更改了。 |
<code php><? | <code php><? | ||
- | SVN 版本更新:首次评论审核提示,在自定义评论代码的适当地方添加以下语句,否则将看不到审核提示语句。 | + | 最新版本更新:首次评论审核提示,在自定义评论代码的适当地方添加以下语句,否则将看不到审核提示语句。 |
<code php><? | <code php><? | ||
- | |||
- | 蚂蚱整理于 2012.03.16 | ||
- | 如果系统加了反斜杠,请到下面看正确代码 | ||
- | http:// |