b2c信息网

您现在的位置是:首页 > 最新时事 > 正文

最新时事

discuz自定义导航(自定义网址导航源码)

hacker2022-06-02 05:53:27最新时事95
本文导读目录:1、discuz怎么添加自定义模板2、
本文导读目录:

discuz 怎么添加自定义模板

Discuz!X3是Discuz!建站程序系列的最新版本,提供了易于DIY的环境,很多新人喜欢问:我看见了那么多好看的模版,但是不符合我当前网站的需求,如何自己去DIY?

当然他们肯定去过官方论坛找教程,去看了那么多文字以后依旧不知道如何去编辑。其实最快开始DIY模版的道路是下载一个符合你心目中要求的框架的模版。例如我喜欢PHPWIND那种导航条置顶的风格,我就去下载了一个导航条置顶的模版,在这基础之上去DIY会相对容易一点。

首先我们需要了解的不是怎样开始DIY,而是需要知道,这页面是属于HTML代码制作的,HTML是一种标记语言,这就意味着你想加入什么功能的时候就要去搜索相关的功能标记。要了解HTML是如何运作的,是如何展现样式的,我们这里可以提供一个最基本的DIV代码。

div id="headerp" class="deaa-964a-5677-5dbd 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="964a-5677-5dbd-6f93 cssheader" style="background:#ccc"headerpic/div

.cssheader{ background:#aaa !important;}

#headerp{ background:#bbb;}

在这个案例中,由于css样式.cssheader被添加了!important标记,所以即使element.style(background:#ccc)比.cssheader在样式优先顺序里面更高级,background属性也会使用.cssheader里面加了!important的数据。

记住了这些以后让我们来真正去DIY属于自己的模版吧。

Discuz!X的模版位于 根目录/template 文件夹里面,在这里面每一个文件夹都会被识别成一个新模版。如果你有想要安装的模版,只需要把模版的整个文件夹复制到这个目录然后进入后台-界面-风格设置里面找到对应的模版然后安装。安装好以后勾选为默认模版以后提交即可。创建模版的时候我们需要把default(默认模版)文件夹里面的discuz_style_default.xml复制到你的模版目录/discuz_style_你的模版名.xml。然后安装官方的模版xml去修改里面的内容。

?xml version="1.0" 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[0.83em]]/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 background.png repeat-x 0 0]]/item

   item id="msgfontsize"![CDATA[14px]]/item

   item id="sidebgcolor"![CDATA[ vlineb.png 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_a.png no-repeat 50% -33px]]/item

   item id="titlebgcolor"![CDATA[#E5EDF2 titlebg.png repeat-x 0 0]]/item

   item id="fontsize"![CDATA[12px/1.5]]/item

   item id="font"![CDATA[Tahoma,'Microsoft Yahei','Simsun']]/item

   item id="styleimgdir"![CDATA[]]/item

   item id="imgdir"![CDATA[]]/item

   item id="boardimg"![CDATA[logo.png]]/item

   item id="available"![CDATA[]]/item

   item id="headertext"![CDATA[#444]]/item

   item id="footertext"![CDATA[#666]]/item

   item id="menubgcolor"![CDATA[#2B7ACD nv.png 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[X3.1]]/item

 /item

/root

需要注意的是这里的Title值不能改,必须保持原样才能够被安装和运行。version代表你这个模版能适用的Discuz!版本。可以用逗号分隔,例:

item id="version"![CDATA[X2.5,X3.0,X3.1,X3.5]]/item

templateid是模版的标识符,这个如果是本地模版的话直接删掉这行即可。不然会识别错误。如果想自定义参数必须在style下面添加行。例如:

item id="diyxml"![CDATA[diydiydiytext]]/item

Discuz!的这个自定义的参数非常好用,在之后的内容里面会被提及。

需要导入自定义模版的时候只需要在后台的界面-风格选项里面上面有个导入标签,点入以后会提示你一步一步导入你已经上传的模版。你也可以直接在对应的模版设置里面修改好参数然后到模版列表页导出你自定义好的模版XML文件。

所谓制作模版就是复制官方文件到自己的模版文件夹里面然后加以修改。

Discuz!额外提供了一些便利设置方便我们设置CSS样式,那就是extend_。我们可以用添加这个

前缀的CSS来达到不替换原有CSS文件的情况下追加或者覆盖原CSS内容。添加的位置就是根目录/template/你的模版文件夹/common/extend_common.css。

要注意的是module.css里面的注释能起到划分区域的效果,优先级比extend_common.css还要高,但是common.css里面的!important依旧优先级比没有!important的module.css的对应内容要高。例:

/** forum::viewthread,group::viewthread,forum::trade,forum::misc **/

.pls {background:rgba(0,0,0,0.03);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,0.2);}

.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文件夹里面添加了一个timeline.htm,那么就可以添加如下代码在响应位置调用timeline这个页面

!--{template forum/timeline}--

我们现在掌握了这些知识以后可以考虑开始初步为网站添加点料了。

我们都很喜欢在网站上面添加一个大大的图片横幅,当然不一定是广告,也会喜欢添加一些美图。这个时候我们需要自己定义一个div,而不是用导航条上面那片区域的背景图片来解决。因为那会导致一些背景和插件色块重叠,看起来不美观。而且本例还要达成让用户来自定义这个背景图片的效果。

这里我们就得说一下Discuz!一个很有意思的地方。在模版里面,注释的内容并不是没用的,相反,注释的内容是可以被当作是PHP代码运行的。让用户自定义图片,我们就需要调用cookie.在Discuz!里面提供了一个调用COOKIE的一个标准方法:$_G['cookie']['cookiename'],这样我们就能调用名为cookiename的cookie了。具体实现代码如下(需要你有基本编程基础):

在discuz.htm中第一段注释下面添加:

!--{if isset($_G['cookie']['sttbg'])}--

div id="headerpic" class="5677-5dbd-6f93-5e06 headerpic" style="background:url($_G['cookie']['sttbg'])"/div

!--{else}--

div id="headerpic" class="5dbd-6f93-5e06-a5b7 headerpic"/div

!--{/if}--

然后去DIY添加静态模块,选择自定义HTML模版。添加如下代码:

ul

li

span style="float:left"顶部图片链接/span

form name="setdiyoptbg" onsubmit="setcookie('sttbg',setdiyoptbg.sttbg.value,60*60*24*30*12);"

 input type="text" name="sttbg" /

 input type="submit" value="设置" /

/form

/li

/ul

然后在common文件夹内新建extend_common.css,添加如下代码:

.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_node.htm里面的用户名移动到了头像下方,这个时候某插件的橙名功能失效了,联系插件作者无果以后决定自己亲手来修改模版以达到适应插件的效果。

网页跟我们平时所知道的顺序阅读载入方式有点不一样,网页的代码只会读取已经载入好的地方,所以接口不能放在程序代码前面,经过分析插件源文件 ,我把那个接口放在了修改了以后的用户名那段代码的后面,成功修复了橙名不显示的问题。代码如下

    !--{if $_G['setting']['authoronleft']}--

     div class="6f93-5e06-a5b7-b38e anc"

      div class="5e06-a5b7-b38e-4923 authi"a href="home.php?mod=spaceuid=$post['authorid']" target="_blank" class="a5b7-b38e-4923-a4d1 xw1"{if $post[groupcolor]} style="color: $post[groupcolor]"{/if}$post[author]/a$authorverifys/div

     /div

    !--{/if}--

    !--{hook/viewthread_profileside $postcount}--

注意这里面最后的hook注释句,这就是Discuz插件的入口。通过移动它来调整插件载入的位置。

很多同学会问,我如果想要加入jQuery模块但是各种出错,到底应该怎么做?在header_common.htm找到common.js的载入行,在这之前载入你的jQuery文件,然后紧接着加上这段代码

var jQ = jQuery.noConflict();

然后把jQuery模块里面的$符号替换成jQ就大功告成了。不是所有的都要替换,只有在括号前的$才要替换。直接查找和替换搜  $(  ,替换成  jQ(  即可。

至此,我独家的Discuz自定义模版教程编写完毕。以上内容均为原创纯手打,你在网络上无法找到第二份比这篇文章还要早的同内容文章,如有不懂请在评论里面追问。

discuz模版的主导航怎么设置?

方法/步骤

登陆论坛后台。使用管理员账号登陆论坛后点击右上角“管理中心”登陆论坛后台。

登陆到后台之后点击最上面的“界面”按钮。

打开之后默认的就是主导航的设置和添加页面,我们点击“添加主导航”进行添加。

在出现的空白输入框内输入自己想要加入的主导航信息。

填好对应的信息之后点击提交,然后到论坛前台首页刷新看下是否已经添加上了,填写没有错误的话应该是可以显示的。

如果在填写是出现错误或者需要更改其他导航信息可以点击对应的导航后面的编辑来进行更改。

discuz 论坛如何设置这样的分类导航

在后台设置:

找到论坛—这个版块—编辑—其他—分类信息

discuz x3.2 首页如何自定义

在导航栏里设置portal.php为首页,然后进行DIY,就可以了,也可以结合portal文件夹里index.htm首页模板,自定义,更灵活,希望回答对你有帮助

如何修改DISCUZ导航栏

discuz中论坛主导航位置导航的添加、删除和修改主要的操作方法:

是进入论坛管理后台

选择界面----导航设置----主导航设置。

在这个主导航设置版块可以对主导航进行修改、删除和增加

如果想要隐藏该导航只要取消勾选位于导航后面的“可用”。

同时关于导航的很多个性化设置,其中包括导航名称、导航文字说明、导航字体样式、导航字体颜色以及导航打开方式等都可以进行单独编辑。

Discuz! 论坛导航设置

div class="b38e-4923-a4d1-d810 a_mu"!-- 二级导航开始--style

.nav_bd {width:960px; height:63px; margin:0 auto; background:url(/img_x/nav_bg3.jpg) no-repeat;overflow:hidden;}

.nav_bd_ul{margin:7px 0px 0 7px;float:left;width:960px;}

.nav_bd_ul li{height:25px;width:94px;line-height:25px;border-left:1px dashed #ccc;float:left;}

.nav_bd_ul li a{font-size:14px;color:#333;display:block;width:60px;height:25px;background:url(/img_x/comiis_ico.png) no-repeat 10px 9px;padding:0 13px 0 19px;text-decoration:none;}

.nav_bd_ul li a:hover{background:url(/img_x/comiis_navbg.gif) no-repeat 5px center;color:#333;text-decoration:none;}

/style

div class="4923-a4d1-d810-114c nav_bd"

ul class="a4d1-d810-114c-4d18 nav_bd_ul"

li style="border-left:0px dashed #ccc;"a href="/forum-2-1.html" title="了解保定民生民声"保定民生/a/li

lia href="/forum-36-1.html" title="保定论坛灌水乐园"谈天说地/a/li

lia href="forum-38-1.html" title="情感交流专区"情感驿站/a/li

lia href="/forum-37-1.html" title="单身情缘等你来"征婚交友/a/li

lia href="/forum-39-1.html" title="俊男靓女"我型我秀/a/li

lia href="/forum-40-1.html" title="影视娱乐专区"影视娱乐/a/li

lia href="/forum-42-1.html" title="亲子俱乐部"美食天地/a/li

lia href="/forum-43-1.html" title="关注保定楼市"房产楼市/a/li

lia href="/forum-44-1.html" title="装修交流专区"家居装修/a/li

lia href="/forum-45-1.html" title="爱生活爱汽车"古城车友/a/li

li style="border-left:0px dashed #ccc;"a href="/forum-62-1.html" title="谈股论金"谈股论金/a/li

lia href="/forum-56-1.html" title="网购卖场"网购卖场/a/li

lia href="/forum-60-1.html" title="摄友拍客"摄友拍客/a/li

lia href="/forum-49-1.html" title="游山玩水"游山玩水/a/li

lia href="/forum-61-1.html" title="健康养生"健康养生/a/li

lia href="/forum-52-1.html" title="招聘求职"招聘求职/a/li

lia href="/forum-53-1.html" title="房屋租售"房屋租售/a/li

lia href="/forum-54-1.html" title="二手房店铺门市"二手市场/a/li lia href="/forum-59-1.html" title="电脑数码"电脑数码/a/li

lia href="/forum-47-1.html" title="母婴亲子"母婴亲子/a/li

/ul

/div!-- 二级导航结束--/div

发表评论

评论列表

  • 温人贪欢(2022-06-02 13:16:06)回复取消回复

    IE的一个标准方法:$_G['cookie']['cookiename'],这样我们就能调用名为cookiename的cookie了。具体实现代码如下(需要你有基本编程基础):在discuz.htm中第一段注释下面添加:!--{if isset($_G['cookie']['sttbg'

  • 嘻友叙詓(2022-06-02 14:43:19)回复取消回复

    ]/item   item id="fontsize"![CDATA[12px/1.5]]/item   item id="font"![CDATA[Tahoma,'Microsoft Yahei','Simsun']]/item   item id="styleimgdir"![CDATA