我想与您分享我对新式新闻的经验:一个逐步教程。在本期中,我将向您展示如何修改评论块。这个块的默认设计相当古老,所以让我们带来一些智能的小改变,使显示更实用。请看这个例子[点击这里](http://www.alsacreations.com/tuto/lire/1522-le-modele-tabulaire-en-css.html#commentaires)(不是xoops网站)。首先,您应该了解导航主题的工作方式(主题覆盖)。关于这个的最好教程是
XOOPS法国(法语)的这个教程。我们将一步一步地开始,以便向您解释这是如何做到的,最后,您应该使用另一个块来练习这些变化。我会邀请您一次上传文件,这样对您来说会更清楚。所以,现在,让我们开始吧!
我们需要: - 系统模块的模板文件评论 - 主题CSS文件(style.css)
1 - 模板文件评论到主题覆盖将文件/usr/modules/system/templates/system_comment*.html复制到/usr/themes/mytheme/modules/system - system_comment.html - system_comments_flat.html - system_comments_net.html - system_comments_thread.html
2 - 自定义 2a 头部现在,我们在/usr/themes/mytheme/modules/system的文件上工作。我们从删除顶部头部开始。编辑3个文件system_comments_*.html,并注释掉(或删除)这些内容
在 system_comments_net.html 和 system_comments_thread.html 中找到这些行 - 2 次,在 system_comments_flat.html 中找到 1 次 -
2b - 删除发帖者的信息 - 仅保留头像 现在,所有的更改都将保存在
system_comment.html 文件中(对下一个也是如此)从用户中删除信息:- 等级 - 注册日期 - 地点 - 贡献数量 - 状态 仅保留头像
<div class="comUserRank">
<div class="comUserRankText"><{$comment.poster.rank_title}>div>
<img class="comUserRankImg" src="<{$xoops_upload_url}>/<{$comment.poster.rank_image}>" alt="" />
div>
<img class="comUserImg" src="<{$xoops_upload_url}>/<{$comment.poster.avatar}>" alt="" />
<div class="comUserStat"><span class="comUserStatCaption"><{$lang_joined}>:span> <{$comment.poster.regdate}>div>
<div class="comUserStat"><span class="comUserStatCaption"><{$lang_from}>:span> <{$comment.poster.from}>div>
<div class="comUserStat"><span class="comUserStatCaption"><{$lang_posts}>:span> <{$comment.poster.postnum}>div>
<div class="comUserStatus"><{$comment.poster.status}>div>
现在是
<img class="comUserImg" src="<{$xoops_upload_url}>/<{$comment.poster.avatar}>" alt="" />
2c - 移动发帖者的名称、日期和样式 让我们简化评论日期的显示:因此,替换
<tr>
<td class="head"><a id="comment<{$comment.id}>">a> <{$comment.poster.uname}>td>
<td class="head"><div class="comDate"><span class="comDateCaption"><{$lang_posted}>:span> <{$comment.date_posted}> <span class="comDateCaption"><{$lang_updated}>:span> <{$comment.date_modified}>div>td>
tr>
通过
<tr>
<td><a id="comment<{$comment.id}>">a>td>
<td><{$comment.poster.uname}> 说了<{$comment.date_posted}>
(<{$lang_updated}>: <{.date_modified}>)td>
*</tr>
2d - 相同日期的评论和修改评论?我们不希望看到相同的日期被显示两次,所以将之前的代码替换为
<tr>
<td><a id="comment<{$comment.id}>">a>td>
<td><{$comment.poster.uname}> 说了<{.date_posted}>
<{if .date_posted != .date_modified}>
(修改了<{.date_modified}>)
<{/if}>
</td>
</tr>**
2e - 将按钮移动到顶部现在,我们希望将按钮移动到顶部。首先,取帖子测试代码的底部文件,并删除所有包含 < td > et < /td > 的行。所以现在的部分代码如下,带有正确的 CSS 样式
<div style="float:right;">
<{if $xoops_iscommentadmin == true}>
<a href="<{$editcomment_link}>&com_id=<{$comment.id}>" title="<{$lang_edit}>"><img src="<{$xoops_url}>/images/icons/edit.gif" alt="<{$lang_edit}>" />a>
<a href="<{$deletecomment_link}>&com_id=<{$comment.id}>" title="<{$lang_delete}>"><img src="<{$xoops_url}>/images/icons/delete.gif" alt="<{$lang_delete}>" />a>
<a href="<{$replycomment_link}>&com_id=<{$comment.id}>" title="<{$lang_reply}>"><img src="<{$xoops_url}>/images/icons/reply.gif" alt="<{$lang_reply}>" />a>
<{elseif $xoops_isuser == true && $xoops_userid == $comment.poster.id}>
<a href="<{$editcomment_link}>&com_id=<{$comment.id}>" title="<{$lang_edit}>"><img src="<{$xoops_url}>/images/icons/edit.gif" alt="<{$lang_edit}>" />a>
<a href="<{$replycomment_link}>&com_id=<{$comment.id}>" title="<{$lang_reply}>"><img src="<{$xoops_url}>/images/icons/reply.gif" alt="<{$lang_reply}>" />a>
<{elseif $xoops_isuser == true || $anon_canpost == true}>
<a href="<{$replycomment_link}>&com_id=<{$comment.id}>"><img src="<{$xoops_url}>/images/icons/reply.gif" alt="<{$lang_reply}>" />a>
<{/if}>
div>
将此代码直接复制到注释日期之后的 <{/ if }> 标签处,然后删除下面的按钮。只需删除最后一个 < tr >< /tr > 标签之间的所有行,并删除 < tr >< /tr > 标签本身。
2f - 样式 - 删除标题和图片标题:删除行
<div class="comTitle"><{$comment.image}><{$comment.title}>div>
- 给左侧列添加固定宽度
<td style="width:120px;"><a id="comment<{$comment.id}>">a>td>
- 删除包含发帖者头像的 'td' 的类 "odd",然后将图片放到中间位置
<td style="text-align:center;">
<img class="comUserImg" src="<{$xoops_upload_url}}/<{$comment.poster.avatar}}/>" alt="" />
td>
2g - 添加箭头 我们需要在 mytheme 主题的 style.css 文件中进行操作,在 CSS 中创建此箭头。对于我的主题,它在 /www/themes/mytheme/css/style.css 中。在 style.css 中添加以下代码
.arrow-left {
width: 0px;
height: 0px;
border-style: solid;
border-width: 25px 20px 25px 0;
border-color: transparent #ECE9D8 transparent transparent;
}
您可以更改箭头的颜色,此颜色与颜色类 "odd" 相同,增加1列。为了将我们的新箭头放在注释的左侧,请增加1列。 - 添加标签
<td>td>
之后
<td style="width:120px;"><a id="comment<{$comment.id}>">a>td>
添加标签
<td>td>
之前
<td class="odd"><div class="comText"><{$comment.text}>div>td>
在第二个标签中插入以下代码
<div class="arrow-left">div>
并设置一个固定的20像素宽度风格:因此,我们有
<td style="width:20px;"><div class="arrow-left">div>td>
2f - 样式 增加两个换行以提高清晰的显示。将其置于名称海报之前。
<td><br /><br /><{$comment.poster.uname}>
那就全部完成了...
3 - full system_comment.html 文件 对于想获取整个 files_comment.html 文件的网站管理员,它在这里,可供使用
<tr>
<td style="width:120px;"><a id="comment<{$comment.id}>">a>td>
<td>td>
<td><br /><br /><{$comment.poster.uname}> a dit le <{$comment.date_posted}>
<{if $comment.date_posted != $comment.date_modified}>
(modifié le <{$comment.date_modified}>)
<{/if}>
<div style="float:right;">
<{if $xoops_iscommentadmin == true}>
<a href="<{$editcomment_link}>&com_id=<{$comment.id}>" title="<{$lang_edit}>"><img src="<{$xoops_url}>/images/icons/edit.gif" alt="<{$lang_edit}>" />a>
<a href="<{$deletecomment_link}>&com_id=<{$comment.id}>" title="<{$lang_delete}>"><img src="<{$xoops_url}>/images/icons/delete.gif" alt="<{$lang_delete}>" />a>
<a href="<{$replycomment_link}>&com_id=<{$comment.id}>" title="<{$lang_reply}>"><img src="<{$xoops_url}>/images/icons/reply.gif" alt="<{$lang_reply}>" />a>
<{elseif $xoops_isuser == true && $xoops_userid == $comment.poster.id}>
<a href="<{$editcomment_link}>&com_id=<{$comment.id}>" title="<{$lang_edit}>"><img src="<{$xoops_url}>/images/icons/edit.gif" alt="<{$lang_edit}>" />a>
<a href="<{$replycomment_link}>&com_id=<{$comment.id}>" title="<{$lang_reply}>"><img src="<{$xoops_url}>/images/icons/reply.gif" alt="<{$lang_reply}>" />a>
<{elseif $xoops_isuser == true || $anon_canpost == true}>
<a href="<{$replycomment_link}>&com_id=<{$comment.id}>"><img src="<{$xoops_url}>/images/icons/reply.gif" alt="<{$lang_reply}>" />a>
<{/if}>
div>
td>
tr>
<tr>
<{if $comment.poster.id != 0}>
<td style="text-align:center;">
<img class="comUserImg" src="<{$xoops_upload_url}>/<{$comment.poster.avatar}>" alt="" />
td>
<{else}>
<td class="odd"> td>
<{/if}>
<td style="width:20px;"><div class="arrow-left">div>td>
<td class="odd">
<div class="comText"><{$comment.text}>div>
td>
tr>
<tr><td>td><td>td><td>td>tr>
当然,我知道这并不完美,我们可以做得更多:- 删除“table”,用“div”代替,- 不要在代码中定义CSS样式,而使用类。- 缓冲角,- ... 但这里的目的是不是为了得到完美的代码。目的是为了理解过度使用的主题,并逐步展示如何修改评论块的设计。《结论》我希望这个消息能让你更清楚地知道如何修改你主题中的块和模板设计。如果你觉得这个消息有用,请在评论块中告诉我你的感受!哈哈哈!