discuz个别模版好贵啊、商业版本要260..我喜欢一个模版、里面带有招聘、外链板块. 但是我不
260说实话不算贵
毕竟制作个界面花的时间对于260也还算可以了
你买其他个人开发者的模板或者DIY模块,钱也不会比这个低
不过你可以试试,不知道你看的模板是哪个模板,看看是否复杂
希望能帮助到你
Discuz!X3是Discuz!建站程序系列的最新版本,提供了易于DIY的环境,很多新人喜欢问:我看见了那么多好看的模版,但是不符合我当前网站的需求,如何自己去DIY?
当然他们肯定去过官方论坛找教程,去看了那么多文字以后依旧不知道如何去编辑。其实最快开始DIY模版的道路是下载一个符合你心目中要求的框架的模版。例如我喜欢PHPWIND那种导航条置顶的风格,我就去下载了一个导航条置顶的模版,在这基础之上去DIY会相对容易一点。
首先我们需要了解的不是怎样开始DIY,而是需要知道,这页面是属于HTML代码制作的,HTML是一种标记语言,这就意味着你想加入什么功能的时候就要去搜索相关的功能标记。要了解HTML是如何运作的,是如何展现样式的,我们这里可以提供一个最基本的DIV代码。
<div id="headerp" class="cssheader" style="background:#ccc">headerpic</div>
这个div会显示headerpic这几个字,这个div的标识符是headerp,其他代码和程序可以通过这个表示符来访问这个div;这个div引用了cssheader这个css样式,并且除非cssheader里面相关样式(当前相关样式:background)后面加上了!important重要标记,headerp这个div都会显示background(背景)为色板十六进制代码ccc的颜色(灰色)。
这里强调一下!important重要标记,在Discuz!里面,有很多运用到!important标记的地方。其中最常用的地方就是DIY模块,在DIY模块里面设定的边距等等数据会被加上!important标记,出现这样标记的时候除非有比这个!important更高级的!important声明,否则你设定的其他同样的样式都会被这!important前面的语句盖住。例:
<div id="headerp" class="cssheader" style="background:#ccc">headerpic</div>cssheader{ background:#aaa !important;}#headerp{ background:#bbb;}
在这个案例中,由于css样式cssheader被添加了!important标记,所以即使elementstyle(background:#ccc)比cssheader在样式优先顺序里面更高级,background属性也会使用cssheader里面加了!important的数据。
记住了这些以后让我们来真正去DIY属于自己的模版吧。
Discuz!X的模版位于 根目录/template 文件夹里面,在这里面每一个文件夹都会被识别成一个新模版。如果你有想要安装的模版,只需要把模版的整个文件夹复制到这个目录然后进入后台-界面-风格设置里面找到对应的模版然后安装。安装好以后勾选为默认模版以后提交即可。创建模版的时候我们需要把default(默认模版)文件夹里面的discuz_style_defaultxml复制到你的模版目录/discuz_style_你的模版名xml。然后安装官方的模版xml去修改里面的内容。
<xml version="10" encoding="ISO-8859-1"><root>
<item id="Title"><![CDATA[Discuz! Style]]></item>
<item id="Data">
<item id="name"><![CDATA[默认风格]]></item>
<item id="templateid"><![CDATA[1]]></item>
<item id="tplname"><![CDATA[默认模板套系]]></item>
<item id="directory"><![CDATA[/template/default]]></item>
<item id="copyright"><![CDATA[康盛创想(北京)科技有限公司]]></item>
<item id="style">
<item id="smfont"><![CDATA[Arial]]></item>
<item id="threadtitlefontsize"><![CDATA[14px]]></item>
<item id="threadtitlefont"><![CDATA[Tahoma,'Microsoft Yahei','Simsun']]></item>
<item id="smfontsize"><![CDATA[083em]]></item>
<item id="tabletext"><![CDATA[#444]]></item>
<item id="midtext"><![CDATA[#666]]></item>
<item id="lighttext"><![CDATA[#999]]></item>
<item id="link"><![CDATA[#333]]></item>
<item id="highlightlink"><![CDATA[#369]]></item>
<item id="noticetext"><![CDATA[#F26C4F]]></item>
<item id="bgcolor"><![CDATA[#FFF backgroundpng repeat-x 0 0]]></item>
<item id="msgfontsize"><![CDATA[14px]]></item>
<item id="sidebgcolor"><![CDATA[ vlinebpng repeat-y 0 0]]></item>
<item id="headerborder"><![CDATA[0]]></item>
<item id="headerbgcolor"><![CDATA[]]></item>
<item id="inputborderdarkcolor"><![CDATA[#848484]]></item>
<item id="stypeid"><![CDATA[1]]></item>
<item id="inputbg"><![CDATA[#FFF]]></item>
<item id="commonborder"><![CDATA[#CDCDCD]]></item>
<item id="commonbg"><![CDATA[#F2F2F2]]></item>
<item id="specialborder"><![CDATA[#C2D5E3]]></item>
<item id="specialbg"><![CDATA[#E5EDF2]]></item>
<item id="dropmenuborder"><![CDATA[#DDD]]></item>
<item id="floatmaskbgcolor"><![CDATA[#000]]></item>
<item id="dropmenubgcolor"><![CDATA[#FEFEFE]]></item>
<item id="floatbgcolor"><![CDATA[#FFF]]></item>
<item id="lightlink"><![CDATA[#FFF]]></item>
<item id="menuhoverbgcolor"><![CDATA[#005AB4 nv_apng no-repeat 50% -33px]]></item>
<item id="titlebgcolor"><![CDATA[#E5EDF2 titlebgpng repeat-x 0 0]]></item>
<item id="fontsize"><![CDATA[12px/15]]></item>
<item id="font"><![CDATA[Tahoma,'Microsoft Yahei','Simsun']]></item>
<item id="styleimgdir"><![CDATA[]]></item>
<item id="imgdir"><![CDATA[]]></item>
<item id="boardimg"><![CDATA[logopng]]></item>
<item id="available"><![CDATA[]]></item>
<item id="headertext"><![CDATA[#444]]></item>
<item id="footertext"><![CDATA[#666]]></item>
<item id="menubgcolor"><![CDATA[#2B7ACD n***g no-repeat 0 0]]></item>
<item id="menutext"><![CDATA[#FFF]]></item>
<item id="menuhovertext"><![CDATA[#FFF]]></item>
<item id="wrapbg"><![CDATA[#FFF]]></item>
<item id="wrapbordercolor"><![CDATA[#CCC]]></item>
<item id="contentwidth"><![CDATA[630px]]></item>
<item id="contentseparate"><![CDATA[#C2D5E3]]></item>
<item id="inputborder"><![CDATA[#E0E0E0]]></item>
</item>
<item id="version"><![CDATA[X31]]></item>
</item>
</root>
需要注意的是这里的Title值不能改,必须保持原样才能够被安装和运行。version代表你这个模版能适用的Discuz!版本。可以用逗号分隔,例:
<item id="version"><![CDATA[X25,X30,X31,X35]]></item>templateid是模版的标识符,这个如果是本地模版的话直接删掉这行即可。不然会识别错误。如果想自定义参数必须在style下面添加行。例如:
<item id="diyxml"><![CDATA[diydiydiytext]]></item>Discuz!的这个自定义的参数非常好用,在之后的内容里面会被提及。
需要导入自定义模版的时候只需要在后台的界面-风格选项里面上面有个导入标签,点入以后会提示你一步一步导入你已经上传的模版。你也可以直接在对应的模版设置里面修改好参数然后到模版列表页导出你自定义好的模版XML文件。
所谓制作模版就是复制官方文件到自己的模版文件夹里面然后加以修改。
Discuz!额外提供了一些便利设置方便我们设置CSS样式,那就是extend_。我们可以用添加这个
前缀的CSS来达到不替换原有CSS文件的情况下追加或者覆盖原CSS内容。添加的位置就是根目录/template/你的模版文件夹/common/extend_commoncss。
要注意的是modulecss里面的注释能起到划分区域的效果,优先级比extend_commoncss还要高,但是commoncss里面的!important依旧优先级比没有!important的modulecss的对应内容要高。例:
/ forum::viewthread,group::viewthread,forum::trade,forum::misc /pls {background:rgba(0,0,0,003);border-right:none;width:200px;}
ad pls {background: #ffffff;}
ad plc {background: #ffffff;}
pls avatar img {width: 145px;padding:8px;background: #FFF;box-shadow:0px 0px 10px rgba(0,0,0,02);}
pls avatar {text-align:center;}
pls p, pls pil, pls o {margin: 10px 20px;text-align: center;}
dvbg {background: #fff;}
/ end /
这些代码只在区域是forum::viewthread,group::viewthread,forum::trade和forum::misc生效。
<!--{template common/header}-->你在模版文件会看见这样的注释代码,这代码实际上能调用模版文件夹里面的网页文件,要求后缀是htm,例如我在forum文件夹里面添加了一个timelinehtm,那么就可以添加如下代码在响应位置调用timeline这个页面
<!--{template forum/timeline}-->我们现在掌握了这些知识以后可以考虑开始初步为网站添加点料了。
我们都很喜欢在网站上面添加一个大大的横幅,当然不一定是广告,也会喜欢添加一些美图。这个时候我们需要自己定义一个div,而不是用导航条上面那片区域的背景来解决。因为那会导致一些背景和插件色块重叠,看起来不美观。而且本例还要达成让用户来自定义这个背景的效果。
这里我们就得说一下Discuz!一个很有意思的地方。在模版里面,注释的内容并不是没用的,相反,注释的内容是可以被当作是PHP代码运行的。让用户自定义,我们就需要调用cookie在Discuz!里面提供了一个调用COOKIE的一个标准方法:$_G['cookie']['cookiename'],这样我们就能调用名为cookiename的cookie了。具体实现代码如下(需要你有基本编程基础):
在discuzhtm中第一段注释下面添加:
<!--{if isset($_G['cookie']['sttbg'])}--><div id="headerpic" class="headerpic" style="background:url($_G['cookie']['sttbg'])"></div>
<!--{else}-->
<div id="headerpic" class="headerpic"></div>
<!--{/if}-->
然后去DIY添加静态模块,选择自定义HTML模版。添加如下代码:
<ul><li>
<span style="float:left">顶部链接</span>
<form name="setdiyoptbg" onsubmit="setcookie('sttbg',setdiyoptbgsttbgvalue,6060243012);">
<input type="text" name="sttbg" />
<input type="submit" value="设置" />
</form>
</li>
</ul>
然后在common文件夹内新建extend_commoncss,添加如下代码:
headerpic {background:url({STYLEIMGDIR}/{HEADERBG}) no-repeat right 0 transparent;background-size:cover;background-position:0% 10%;height:220px;box-shadow:0 0 15px #8f8f8f;}最后在模版设置里面的最下方添加自定义参数HEADERBG,内容指向想添加为默认头部的文件地址。文件前面添加了STYLEIMGDIR,这样就可以直接把放在模版文件夹里面的扩展文件夹里,不会搞乱格式。
至此,添加自定义内容的教程结束。
这个教学旨在去学会如何学习制作,而并不是学习制作方法,就是授人以鱼不如授人以渔的意思。概念会比较泛,必须要自己去动手做才能理解。
我们很多时候不止要添加元素,还需要修改已有的元素。这个时候我们就需要开发者模式了,不然很多时候你会一头雾水。这里推荐chrome和ie10以上的开发者模式,都支持页面编辑,即时让代码生效。满意了以后直接去修改对应文件即可,不过你要熟悉那部分的代码,就如同上一步添加模块一样你需要知道所有代码的意思,不然很可能导致失败效果。
这里特殊说一下plugin接口,当你在修改元素的时候,可能会导致一些插件无法被正常使用,这个时候你就需要尝试修改一下插件接口的位置。例如我把viewthread_nodehtm里面的用户名移动到了头像下方,这个时候某插件的橙名功能失效了,联系插件作者无果以后决定自己亲手来修改模版以达到适应插件的效果。
网页跟我们平时所知道的顺序阅读载入方式有点不一样,网页的代码只会读取已经载入好的地方,所以接口不能放在程序代码前面,经过分析插件源文件 ,我把那个接口放在了修改了以后的用户名那段代码的后面,成功修复了橙名不显示的问题。代码如下
<!--{if $_G['setting']['authoronleft']}--><div class="anc">
<div class="authi"><a href="homephpmod=space&uid=$post['authorid']" target="_blank" class="xw1"{if $post[groupcolor]} style="color: $post[groupcolor]"{/if}>$post[author]</a>$authorverifys</div>
</div>
<!--{/if}-->
<!--{hook/viewthread_profileside $postcount}-->
注意这里面最后的hook注释句,这就是Discuz插件的入口。通过移动它来调整插件载入的位置。
至此,我独家的Discuz自定义模版教程编写完毕。以上内容均为原创,曾经在类似的问题里面发过,但是作者迟迟没能回来采纳,深感遗憾。
回第二个问题:在界面导航里面去掉论坛的顶部导航,就是设置成不可用。然后在界面里面把门户选作主页即可。虽然用户仍旧能通过forumphp访问论坛,但是这也是最简单最可行的办法
本来discuz这些东西就不是免费的,只是开源而已,你要用都要购买官方授权的,ec等等更是如
只不过大多数人没去购买授权而已,你如果有钱或者是企业最好去买版权吧,官方也会给你提供一些服务
至于模板的版权属于个人开发者,discuz肯定不追究,你就想我自己开发一套模板自己用谁管得了嘛,但干嘛淘宝买呢,discuz后台的插件库里面模板经过官方认证肯定比淘宝上的来的好呀
但你就记得两点就好了
1:买了模板之后要有服务,买到的模板肯定不是直接能用的,多多少少要删点代码改点代码的,如果没人教自己又不懂 相当麻烦
2:不要有隐藏的一堆广告在模板里面
一般模版都有一个template文件夹,一个image文件夹,一个样式导入文件(大概是txt格式的),个别还有一些其他的htm文件
通常都给你分好文件夹在,只需要覆盖就行
然后在后台界面风格里,导入txt,就可以看到你导入的模版风格在列表里了
如果是discuz7以上的,可能操作更简单一点,有可视化界面
0条评论