本文目录一览:
- 1、discuz!论坛的门户文章不支持discuz代码,请问如何解决?
- 2、如何实现discuz,门户文章的标签功能
- 3、discuz怎么添加自定义代码
discuz!论坛的门户文章不支持discuz代码,请问如何解决?
第1步:
打开./template/default/portal/view.htm文件
查找 div class="d"table cellpadding="0" cellspacing="0" width="100%"trtd
在其下 添加以下代码(有色部分需自行修改)
红字部分修改规则:你自定义标签头的最后一个字符+],如d]
蓝字部分修改规则:你自定义标签尾除开头的[之外其他字符,如vod]
{eval $str=$content[content]; preg_match("/d](.+?)vod]/",$str,$arr);$str=$arr[1];}
!--{if $str}--
{eval $str=str_replace('[/','',$str);}
[……此处下一步处理……]
!--{/if}--
第2步:
打开您的DX后台,把自定义编辑器 Discuz 代码“详情”中的 “替换内容:”中的内容复制到 以上的
!--{if $str}-- 这里 !--{/if}--之间。
在复制过来的内容中,把{1} 替换为$str
完毕。
如果有弟兄需要用到而不会搞,请把你的自定义信息跟帖回复,本人给予单独定制。
需要提供:
后台编辑器自定义各参数;
DX模板./template/default/portal/view.htm文件(请以回帖附件提供);
1个使用了自定义代码的BBS阅读页面。
如何实现discuz,门户文章的标签功能
添加一个tag模版
1、首先修改文章添加Tag模版:/template/default/portal/portalcp_article.htm
我们先要找到以下内容代码:
div class=”bm bml”
div class=”bm_h cl”
h2{lang article_description}/h2
/div
div class=”bm_c”textarea id=”summary” name=”summary” cols=”80″ class=”pt” maxlength=”120″ style=”width: 98.7%; height: 51px;”$article[summary]/textarea
/div
/div
然后在该代码下面添加以下内容
div class=”bm bml”
div class=”bm_h cl”
h2Tag 标签/h2
/div
div class=”bm_c”input type=”text” id=”tags” name=”tags” class=”px” maxlength=”120″ size=”80″ value=”$article[tags]” /div
div class=”bm_h cl”
多个Tag 用空格隔开,比如:a b c d ,尾部不需任何符号/div
/div
2、接下来是添加pre_portal_article_title表字段[注意:1、操作前备份数据库,2、不论表前缀是不是默认的,都可以直接用此代码(我的表前缀不是默认的已经成功),如果没有升级成功,那就请用pre_portal_article_title。]
字段名为:tags ,类型varchar(255), 默认为空。
在网站后台的站长-数据库-升级 下面的Discuz! 数据库升级,文本框,复制下面
SQL:alter table pre_portal_article_title add tags varchar(255)
3、修改文章添加,修改,处理,函数/source/include/portalcp/portalcp_article.php
查找以下代码
$_POST[‘pagetitle’] = censor($_POST[‘pagetitle’]);
在该代码下面添加
$_POST[‘tags’] = censor(trim($_POST[‘tags’]));
查找以下代码
‘author’ = $_GET[‘author’],
‘from’ = $_GET[‘from’],
‘fromurl’ = $_GET[‘fromurl’],
‘dateline’ = intval($_GET[‘dateline’]),
‘url’ = $_GET[‘url’],
修改为
‘author’ = $_G[‘gp_author’],
‘from’ = $_G[‘gp_from’],
‘fromurl’ = $_G[‘gp_fromurl’],
‘dateline’ = intval($_G[‘gp_dateline’]),
‘url’ = $_G[‘gp_url’],
‘tags’ = $_POST[‘tags’],
4、修改文章显示函数/source/module/portal/portal_view.php
找到代码
include_once template(“diy:portal/view:{$catid}”, NULL, $tpldirectory, NULL, $articleprimaltplname);
在此代码上一行插入以下代码
$tags=explode(” “,$article[“tags”]);foreach($tags as $val) {
$htmltags .= “a href=\”/search.php?mod=portalsrchtxt=”.$val.”searchsubmit=yes\” target=\”_blank\””.$val.”/a “;
}
5、修改文章显示模版/template/default/portal/view.htm
可以自己选择要放的位置,例如放到内容下面:查找
$content[content]
然后在下面加入代码
div
bTab标签:/b $htmltags
/div
进入后台-工具-更新缓存。只选择清理数据就可以了。
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去修改里面的内容。