这个是我所保留没给大家说的,看到很多人都在问我要,那就发给大家了。我自己已经不做论坛了。那破坛子已经2个月没管了....
演示地址:http://www.bbmoo.com/dispbbs.asp?boardID=41&ID=3220&page=1
说明:这个文件为猫坛使用的帖子内容模版 dispbbs(0)完整代码。理论上,下回去以后,可以直接覆盖你的论坛当前所用摸版的dispbbs(0),那么你的内容布局就应该和上面演示地址是一样的了。当然可能会出些小问题,我也不敢保证,因为代码修改比较大。请大家在覆盖前千万要做好备份工作。
使用版本:理论上适合7.1sp1 5-23以后的风格版本,使用前请注意核对。因为当前猫坛版本为 sp1 5月23号。对于其他版本不符合所引起的问题,我概不理会。
特点:大家能看到的我就不说了,主要说的就是不容易注意到的细节。
1、签名:楼主贴不显示签名,其他各层都显示。签名高度得到了控制,并且签名内容自动适应高度,解决了以前签名控制了高度就不能自动适应的问题,这个也是很多人问的。
2、贴间文字广告:将广告放到了签名栏的又边,这样广告随签名出现而出现。如果当前楼作者没有签名的话,就不显示广告。避免了每楼都显示广告,导致广告过多影响美观的问题。
代码说明:由于代码太多,我弄成一个包。包里的代码没有说明,在这里我只把如何添加广告的方法需要改到的地方说明一下。
<xsl:variable name="google"><![CDATA[
<script type="text/javascript">
google_ad_client = "pub-4687785686496256";
google_ad_width = 180;
google_ad_height = 150;
google_ad_format = "180x150_as";
google_ad_type = "text_image";
google_ad_channel ="";
google_color_border = "EEE6F2";
google_color_bg = "EEE6F2";
google_color_link = "800040";
google_color_text = "72179D";
google_color_url = "341473";
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
]]>
</xsl:variable>
注意:上面引用框里的这整段代码都是要新添加的,添加到哪里自己看文件了。红色代码为广告代码,你可以替换成你的广告代码。
下面这段代码是关键了,修改比较大,大家要看懂了才好,我一一说明:
大家一定要把我指出的地方的css都看明白了,看不明白就去下css2.0中文教程来对照看。那些标签的属性一定要弄懂才行。
............
<div class="mainbar3" style="text-align : left; position:relative;"> 定位层排列属性,非常重要
<div class="tablebody{2 - (position() mod 2)}" style="padding-left:40px;padding-top:10px; padding-bottom:10px;padding-right:40px">
<img src="{/post/setting/@picurl}topicface/{@expression}" alt="发贴心情" /><br/>
<xsl:variable name="checkinfo"><xsl:call-template name="checkuser">
<xsl:with-param name="userid" select="$userid"/>
</xsl:call-template></xsl:variable>
<xsl:if test="$checkinfo !=’’"><div class="lockuser"><xsl:value-of select="$checkinfo" /></div></xsl:if>
<xsl:if test="$checkinfo =’’ or /post/userinfo/@truemaster =1 or (/post/userinfo/@boardmaster =1 and /post/userinfo/@usergroupid !=’3’)">
<xsl:if test="@parentid = 0">
<xsl:if test="$mofaface !=’’ and $mofaface !=’0’"><div style="float:right;margin-right:20px;"><a href="javascript :DispMagicEmot({$mofaface},350,500)"><img src="dv_plus/tools/magicface/gif/{$mofaface}.gif" border="0" alt=""/><br />魔法表情<br/>点击重放</a></div>
<script type="text/javascript" language="javascript">
LoadMagicEmot(<xsl:value-of select="$mofaface" />,<xsl:value-of select="/post/postinfo/@topicid"/>);
</script>
</xsl:if>
</xsl:if> 判断并显示魔法表情
<div style="{$bodystyle}margin-top:10px;word-wrap : break-word ;word-break : break-all ;" onload="this.style.overflowX=’auto’;"> 这里就是调用帖子内容了,定位也很重要,是右边的广告层的父层
<xsl:if test="@parentid = 0"> 判断,是否楼主贴,是就显示右边的广告
<div style="float:right; margin:0px; width:200px; height:150px; overflow:hidden;"><xsl:value-of select="$google" disable-output-escaping="yes"/></div> 这一层就是调用显示上面的广告代码并且定位位置
</xsl:if>
<xsl:choose>
<xsl:when test="@parentid =0 and /post/postinfo/@getmoneytype=3"><xsl:call-template name="checkgetmoney" /></xsl:when>
<xsl:otherwise><xsl:value-of select="@body" disable-output-escaping="yes"/></xsl:otherwise>
</xsl:choose> 判断当前是否是楼主贴以及作者是否有签名,是楼主贴或作者没有签名就不显示贴间文字广告。
</div>
<xsl:if test="@parentid = 0"> 同样判断是否楼主贴,以显示版权说明
<xsl:choose>
<xsl:when test="/post/userinfo/@cananony=1 and @signflag=2 and not (/post/userinfo/@truemaster=1) and /post/userinfo/@userid != @postuserid">
<div style="padding-bottom:10px;width:100%;float:left">
<font color="#EC5C2D">虽然本文的发表者隐藏了名字,但做人要厚道,如要转贴还是请注明来自猫人部落。
</font>
</div>
</xsl:when>
<xsl:otherwise>
<div style="padding-bottom:10px;width:100%;float:left">
<font color="#EC5C2D">本文由本站会员 [<b><xsl:value-of select="@username"/></b>] 发表,做人要厚道,如要转贴请注明来自猫人部落。
</font>
</div> 这段代码是判断帖子是否匿名发表,以前的修改方法有错误,会暴露匿名者的名字,现在被我修复了。
...........
重点就在这里了,大家自己研究吧。我家里暂时上不了网。这个贴还是在网吧发的。有什么问题我也不能及时回答大家了。
大家自己多动手研究,一定要把代码看明白。我只教给大家方法,自己想怎么修改就自己动手去。我的宗旨是:授人鱼不如授人渔,对于懒人,请别来找我。
最后要说的是,我的论坛已经不打算做了,所以也不想让你们做连接,只希望有人在转这贴的时候不要说是你自己的愿创就是了。做人要厚道!