discuz怎么添加自定义代码

discuz怎么添加自定义代码,第1张

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

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

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

1

<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前面的语句盖住。例:

1

<div id="headerp" class="cssheader" style="background:#ccc">headerpic</div>

1

2

.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去修改里面的内容。

添加百度分享代码方法

1、discuz后台有个添加统计代码的地方,复制粘贴代码即可。

2、还有可以通过安装插件等小程序来添加,去那个应用市场找吧。

3、懂代码建站的可以找到底部文件,在底部文件中或者你需要放的地方添加统计代码,这个比较麻烦点。

分享有固定在网页中的以及悬浮的,这个看自己网页布局了。

就目前最新版X2.5做一个简答的介绍:

大致可以分为以下三个步骤:

一、添加数据调用程序

二、后台更新diy模块分类缓存

三、添加相应的数据模板

具体 *** 作如下:

一、添加数据调用程序

1>在 source/class/block/ 目录下新建文件夹如 :news

2>

在news文件夹下,新建 blockclass.php,内容如下:

<?php

if(!defined('IN_DISCUZ')) {

exit('Access Denied')

}

$blockclass = array(

'name' =>lang('blockclass', 'blockclass_resource'),

)

?>

再在news文件夹下,新建 block_news.php,内容如下:

<?php

if(!defined('IN_DISCUZ')) {

exit('Access Denied')

}

class block_news extends discuz_block {

public $setting = array()

public function block_news() {

$this->setting = array(.........)//这儿对setting进行初始化

}

public function name() {

// 这儿设置数据来源

return lang('blockclass', 'blockclass_news_script_news')

}

public function blockclass() {

// 这儿设置调用模块类型

return array('news', lang('blockclass', 'blockclass_news'))

}

public function fields() {

$fields = array(.........)//这儿对fields进行设置,除了discuz本身支持的变量外,只有这儿设置的字段才可以在模板中调用。

return $fields

}

public function getsetting() {

return $this->setting

}

public function getdata($style, $parameter) {

$list = array(.........) // 这儿根据实际情况从数据库或许相应的数据

return array('html' =>'', 'data' =>$list)

}

}

?>

以上代码中 lang(....),均为语言处理,这里略过。还有 $setting,$fields,$list的格式可以参考 source/class/block/member/block_member.php中对应变量的格式。

二、进入后台-工具-更新缓存,一定要勾选“DIY 模块分类缓存”,然后开始更新。

三、进入后台-门户-模块模板,在这个下添加你对应的模板。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/11590180.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-17
下一篇2023-05-17

发表评论

登录后才能评论

评论列表(0条)

    保存