当前位置:首页 > 代码 > 正文

discuz代码教程(discuz程序)[20240427更新]

admin 发布:2024-04-27 00:42 86


本篇文章给大家谈谈discuz代码教程,以及discuz程序对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

discuz代码怎么用?

帖子编辑有两种模式,所见即所得和代码模式

你可以看看帮助或者网上很多的代码教程,自个试试做看~

例如,选择代码模式,输入代码和内容,切换到所见即所得模式,就看到效果。

或者所见即所得模式做好效果,切换到代码模式看代码

多试几次,就有感觉啦

当然,我说的只是一种给你更加容易学懂discuz代码、更方便使用的方法而已

具体怎么用,这个问题,范围太大。。很模糊。。我不知道该说什么。。。

discuz教程:插件开发经验之如何运用 C::t 方法

抽点时间讲解一下C::t方法的简单使用。

一、C::t方法的好处:一是对象清楚,二是对形参格式化处理,三是可集中SQL语句,利于维护,四是安全性更高。

二、具体用法,看下面的例子

假设有一个名为test的插件,其中关于名为tbname的数据表操作的SQL

旧式写法

a.inc.php

?php

……

$query = DB::query('select * from '.DB::table('tbname').' where id='.$id);

while($v = DB::fetch($query)){

……

}

……

?

改造为C::t如下

a.inc.php

?php

……

$query = C::t('#test#tbname')-fetch_all($id);

foreach($query as $key = $value){

或者将上面的两行变为一行,以减少行数,如下

foreach(C::t('#test#tbname')-fetch_all($id) as $key = $value){

……

}

……

?

再新建一个文件夹名为table,放在插件根目录下,在table中创建一个名为table_tbname.php的类文件(详见技术文库的相关说明),该文件的代码框架如下

table_tbname.php

?php

if (!defined('IN_DISCUZ')) {

exit('Aecsse Denied');

}

class table_tbname extends discuz_table{

public function __construct() {

$this-_table = 'tbname';

$this-_pk = 'id';

parent::__construct();

}

/*------------在此处构造N多的自定义函数,本例中自定义的函数如下-------------*/

public function fetch_all($id){

return DB::fetch_all('select * from %t where id=%d',array($this-_table,$id));

}

}

?

C::t的运用有很多变化,但万变不离其宗,基本骨架就是上面的样子。

注意:

1、自定义函数中有一个同名函数名fetch_all,虽然名字相同,但内涵不同。本例比较特殊,实际自定义函数名称你可以随便起,例如public

function

ldsjglfdjs($id),不一定非要像技术文库要求那样规则命名,当然,规则命名更易于辨认理解维护

2、SQL中应当用格式化语句书写,以保障安全性,其中的%t代表了对数据表名的格式化,%d代表了对%id的格式化,其中的含义请查询技术文库"源DB类的改进",以了解掌握都有哪些格式符及其意义并加以运用。这里要特别注意%s和%i的区别,涉及安全处理问题

3、虽然不是必须,但我仍建议并强调,以数组形参的形式作为DB层封装函数的第二参数(如果该函数有此参数的话),例如上例中的

DB::fetch_all(SQL,array(第一形参,第二形参,...)),某些DB层封装的函数对于有无$arg这个数组参数有着不同的执行过

程,将会影响对该参数中的变量是否进行安全过滤的行为

4、SQL中的格式符一定要和数组形参中的变量一一对应,不能颠倒

5、不提倡旧式的SQL写法,如DB::fetch_all('select

*

from

'.DB::table('tbname').'

where

id='.$id),原因见上面的3

6、虽然不是必须,但C::t方法中自定义函数内最好不要使用诸如$_GET、$_POST之类的全局变量,应在C::t之前赋值后传入,否则,例如在DB::query中使用,如不进行过滤,其安全性将难以保障

7、大多数被DB封装的常用数据库操作函数,其参数都将被做安全处理,因此要注意,虽然不是必须避免重复过滤,但应考虑执行效率问题。

8、注意注意再注意,由于大多数被DB封装的常用数据库操作函数都要调用内部query函数,相当于在外部直接使用DB::query,而该函数有个特例情况,就是上面3所说,因此特别要考虑有无数组形参,进而加固安全性

9、尽量将SQL集中放在C::t方法的类文件中,避免在应用层等其他文件中使用SQL,这样能使对象更清晰规范方便维护

官方在source/class/table中已经内置了很多C::t方法,假设在插件设计时所用的方法是官方所没有的,而官方已创建了一个同名类文件,

这时怎么办?那就按上面例子所示,自己创建一个同名类文件就行了,但应用层一定要用C::t('#插件标识符#不带前缀的表名')来调用,而不是

C::t('不带前缀的表名')这种方式

闲暇之余多看看source/class/discuz中的discuz_database.php和dizcuz_table.php这两个重要文件,烂熟其中被DB封装的常用函数的执行原理和机制,对自如运用C::t和加强安全认识有好处

小编极力推荐:

网页制作编辑器大全

discuz教程:帖子内容页增加显示认证用户认证资料

判断用户是否已认证,是则调用认证资料中的自我介绍栏目。

其中css部分需要自己对应使用风格和添加位置修改宽度和margin参数。

PS:其中$post['bio']为调用自我介绍内容,可以自行更换。

另外,如果调用不出可自行在后台界面设置帖子内容页设置用户信息显示的位置中开启对应的栏目在帖内左侧显示。

增加下列代码到viewthread.htm文件中你想增加的位置

并上传下面的图片到风格目录并修改下列代码中CSS部分的vdata.png路径:

代码中SELECT

verify6

FROM

里面的verify6表示你认证代号,在后台

--

用户

--

认证设置,里面可以看到认证代号。

实名认证资料

amp;nbsp;$post['bio']

复制代码

【2011年8月15日

13:05:51

更新教程】

有人说不知道加在哪里,我就简单介绍下默认风格下把该代码加到头像下方。

首先打开默认风格目录中forum下的viewthread_node.htm文件,查下段代码:

{lang member_avatar_banned}

$post[avatar]

$post[groupicon]

{$post[authortitle]}

复制代码

上面这段代码是帖内左侧头像部分的代码。最后一行是显示会员用户组的。

把我发的那段认证资料代码加到这段下面,然后修改CSS部分的margin:

0px

0px

5px

0px;

width:

240px;

使宽度和边距适应风格为止。OK,就这么多了,不同风格添加方法都差不多,找到头像位置代码即可。

小编极力推荐:

网页制作编辑器大全

discuz怎么添加自定义代码

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

Discuz!代码怎么使用啊,都看不懂他们写的,能不能说的直白点啊?

就是把自定义的代码进行解释,譬如[fly]文字[/fly],解释为marquee width="90%" behavior="alternate" scrollamount="3"文字/marquee。

简单点说就是把自定义的代码样式解释为html

如何用[discuz]代码在帖子里发图片?

这个要看论坛的管理员在个性签名是否开放url和img的UBB权限.

如果开放的可以使用这个代码:

[url=http://]

你的图片地址[/img][/url]

一、普通贴图

代码:

[/img]

解释:把图片地址放在

[/img]中间

注意:一定要在后面一个[ ]内 img前加/,够成完整的代码

二、贴图并显示图片大小

代码:[img=83,31][/img]

解释:把图片地址放在[img=83,31] [/img]中间,

这里的83,31分别是图片的宽和高,可以随意调整。

注意:一定要在后面一个[ ]内 img前加/,够成完整的代码

*****贴图放在签名里时,高度不能大于400,就是后面一个数字不能大与400****

三、贴FLASH

代码:[swf][/swf]

解释:把FLASH地址放在[swf] [/swf]中间

注意:FLASH地址的后面必须是以.swf结尾

四、贴影片

代码:[wmv]mms://your.com/example.wmv[/wmv]

[rm]rtsp://your.com/example.rm[/rm]

解释:把影片的地址放在[wmv] [/wmv](或[rm] [/rm]) 中间

注意:这里要注意的是电影的格式,在这里我们介绍的是以wma或rm格式的电影

不要乱用。

五、字体移动

代码:[fly]需要移动的文字[/fly]

解释:把要移动的字放在[fly] [/fly]中间

注意:一定要在后面一个[ ]内 fly前加/,够成完整的代码

六、引用

代码:[quote]日光海岸[/quote]

解释:把要引用的东西放在[quote] [/quote]

注意: 一定要在后面一个[ ] quote前加/,够成完整的代码

七、网址连接

代码: [url][/url]

解释:把要链接的网址放入[url] [/url]中间

注意:实际上在日光海岸的论坛上直接在贴子中贴出网址,论坛会自动识别出来

八、EMAIL连接

代码:[email]webmaster@sunxp.com[/email]

解释:把邮件地址放入[email] [/email]中间

注意:实际上在日光海岸的论坛上直接在贴子中贴出EMAIL论坛会自动识别出来

九、让字有颜色

代码:[color=red]红颜色[/color]

解释:把要变颜色的字放入[color=red] [/color]

注意:这里的[color=red] 中的red是代表红色,其他颜色可以换成其他的英语

单词,如:blue等等

十、让字变换大小

代码:[size=3]文字大小为 3[/size]

解释:把要变换大小的字放入 [size=3] [/size]中

注意:这里的[size=3] 中的 3 是字的大小,可以随意改变

十一、贴MP3

代码:[wmv]MP3地址[/wmv]

解释:把MP3地址放入[wmv] [/wmv]中间

注意:此代码与贴电影一样~

不过有些论坛不支持的话那也没办法。

关于discuz代码教程和discuz程序的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

版权说明:如非注明,本站文章均为 AH站长 原创,转载请注明出处和附带本文链接;

本文地址:http://ahzz.com.cn/post/664.html


取消回复欢迎 发表评论:

分享到

温馨提示

下载成功了么?或者链接失效了?

联系我们反馈

立即下载