资源描述
jtbc是严格的将程序与语言以及模板相分离开来了
其构架规律很好掌握(以下以php现有模块为列)
JTBC(CMS)
┣index.php
┃
┃ ┏common(系统配置)
┃ ┣editor(编辑器)
┣common┣images(系统所用图标/整站css/站点js等
┃ ┣incfiles(系统主函数/数据库配置)
┃ ┣language(系统公用文字词汇)
┃ ┗template(首页模板/调用模板/功能性模板)
┃
┃ ┏cache(缓存管理)
┃ ┣common(admin模块函数/模板/语言)
┣admin ┣configure(配制管理模块)
┃ ┣files(文件管理)
┃ ┣module(模块管理/添加删除模块)
┃ ┣sort(类别管理)
┃ ┣sql(sql管理)
┃ ┣upload(上传管理)
┃ ┣user(用户管理)
┃ ┣userlog(用户登陆纪录)
┃ ┗xml(xml文件管理/即模板/语言等xml文件的在线编辑)
┃
┃ ┏common(会员管理函数/模板/语言)
┣passport┣friend(站内会员好友)
┃ ┗message(站内短信)
┃
┃ ┏common(公共管理/模板/语言)
┃ ┣gbook(留言管理)
┣support ┣linkimages(图片连接管理)
┃ ┣linktext(文字连接管理)
┃ ┣review(评论管理)
┃ ┗vote(投票管理)
┃
┃ ┏common(插件管理/模板/语言)
┃ ┣count(文章点击管理)
┣expansion ┣cthtm(html生成管理)
┃ ┗js(js插件管理)
┃
┃ ┏config.jtbc(模块配置)
┣article━common ┣guide.jtbc(后台管理连接)
┃(文章模块) ┃
┃ ┃ ┏config.inc.php(模块变量)
┃ ┣infiles┣manage_config.inc.php(后台管理过程)
┃ ┃(模块独┣module.inc.php(前台叶面函数)
┃ ┃享函数)┗module_config.inc.php(前台调用过程)
┃ ┃
┃ ┣language┏manage.jtbc(后台语言)
┃ ┃模块语言 ┗module.jtbc(前台语言)
┃ ┃
┃ ┗template┏manage.jtbc(后台模板)
┃ 模块模板 ┗module.jtbc(前台模板)
┃
┣about━特色模块/单页面模块.数据以xml形式存在language下data.jtbc
┃ 默认在后台无管理连接,可自行修改添加.该模块不支持html.
┃
┣download(下载模块) 以下6个模块结构与文章模块相似
┣abouts(单页面模块)即无分类的文章模块
┣forum(论坛模块)
┣shop(产品模块)
┣shopcart(商品模块/订单)
┗search(搜索模块)
各模块中的common均为文章模块式的文件功能分布
文章/下载/商品/产品 均可轻松克垄
若有需要 其他功能模块也可实现克垄使用
目前现有功能模块可根据需要拓展/开发为实际需要的特色功能模块。
类别:jtbc cms使用笔记|评论(0)|浏览(283)
JTBC之JS调用插件的使用方法与说明
2010-01-30 1:49
用途
JS调用插件允许您将常规的调用代码生成一段JS,并且可以选择自动更新,使用JS调用可以大大减少服务器的负载,并且非常适合在生成HTML页中的页边调用,使用JS调用的HTML页可以避免因为数据更新而需要重新生成的尴尬局面
使用
进入后台的 插件管理 - JS调用 以增加一个JS调用为例,点击 添加一个新的JS调用 JS名称可以取任意的方便辨别的英文名称,比如 article_new 内容:
{$=itransfer('top', '1', 'topx=10;tnum=30;genre=article;baseurl=/article/')}
内容中可以添加任意一个或者多个 {$=*()}这样的调用函数,也可以是能够识别的任何函数,值得注意的是在该句调用中需要附加一个参数 baseurl=/article/ 该参数的作用是设置一个基地址以便在任何页面都可以正确的链接到资源。
下面的过期时间以及过期时间类型可按照需要依次填写。
生成
在添加完成后,点击新添加的内容进入编辑页面,在下方位置进行生成即可。
调用
假如不需要JS进行自动更新,那么强烈推荐使用直接调用JS的方式,调用地址:
<script language="javascript" src="expansion/js/common/js/JS名称.记录编号.js"></script>
如果需要其进行过期自动更新,那么可以采取这样的调用方式:
<script language="javascript" src="expansion/js/common/js/?记录编号"></script>
或者
<script language="javascript" src="expansion/js/common/js/?JS名称.记录编号"></script>
JTBC模板管理中常用函数说明
2010-01-30 1:42
一、itake函数
itake可谓是JTBC网站内容管理系统中的灵魂函数,它可以调用出位于网站系统相应目录下的任意一个.jtbc中的任意一个节点的值,通常被用做调用模板或者调用语言。
现在举例说明一下itake函数的用法,用法非常简单。
例:{$=itake('global.lng_config.time','lng')}
第一个参数 global.lng_config.time,这个是路径字,依据这段字符串可以找到我们需要读取到的唯一节点内容,global代表全局,意思就是不属于任何一个模块,是系统全局的,因此它对应的路径为根目录下的common文件夹内,第二个参数 lng 代表的是语言的意思,常见的还有 tpl (模板) sel (选项),lng与sel都位于common/language文件夹内 tpl 位于common/template文件夹内,后面的lng_config代表的是lng_config.jtbc这个文件,因此我们可以了解到这个函数调用的是根目录下的common/language/lng_config.jtbc这个文件中的某个节点,最后一个 time 则正是这个节点的节点名。因此,此函数返回的是 common/language/lng_config.jtbc这个文件中的time节点值。
当位于模块中的文件使用itake函数时,如果是调用自身下的.jtbc文件内容,那么这时的情况就不会出现global了。
例:{$=itake('config.time','lng')}
这个函数将返回模块目录下的common/language/config.jtbc文件中的time节点的内容。
当位于模块中的文件想读取其他模块中的.jtbc文件内容时,这时候的参数就会显得比较复杂,通常情况下不经常使用。
例:{$=itake('global.product:config.price','lng')}
这个函数将返回product模块目录下的common/language/config.jtbc文件中的price节点的内容,以此类推。
二、ireplace函数
ireplace的参数与itake的参数形式相同,返回处理时有所不同的是:itake只负责获取节点内容,对节点内容不做任何处理,而ireplace函数则会在获取节点内容的同时,转换掉内容中所有的预设函数值。类似({$=a})这样的。
三、itransfer函数
itransfer函数是一个调用函数,它的作用是调用出数据并显示出来,举个比较简单的例子。
例:{$=itransfer('top', '1', 'topx=10;tnum=30;genre=article')}
第一个参数代表调用的top类型,就是最近更新的数据,第二个参数 1 代表使用的是 1 这个模板,所有的调用模板在后台管理中的 系统管理 - 模板管理 - 调用模板 中管理到,对应的文件是 根目录下的common/template/tpl_transfer.jtbc,理论上用户可以增加任意多个调用模板以满足不同调用样式的需求。第三个参数是一个比较复杂的参数,其中包括多个子参数分别使用“;”相对常用的参数有如下几个:
topx 调用前X条记录
tnum 调用的标题最大字节数
genre 调用的模块名(在模块中调用如果省略则表示自己本身)
rnum 调用显示效果的列数
class 调用的类别编号
通过该调用函数与自己创建的调用模板相互配合,基本上可以调用出大部分的调用效果。
JTBC网站系统图片FLASH幻灯效果的添加
2010-01-30 1:40
flash 通用图片轮换播放器,下面我还是把完整的代码贴出来!共三步!
flash文件下载地址:
-------------------------------
第一步:在调用模板中增加三个节点
在调用模板中增加一个节点(按照以下)
name:flash_img2_1
tpl_default:
{$}{$$}{$baseurl}{$=split('{$content_images_list}', '|')(0)}|{$$}{$}
继续在调用模板中增加一个节点(按照以下)
name:flash_img2_2
tpl_default:
{$}{$$}{$baseurl}redir.asp?id={$id}|{$$}{$}
继续在调用模板中增加一个节点(按照以下)
name:flash_img2_3
tpl_default:
{$}{$$}{$topic}|{$$}{$}
------------------------
第二步:在首页模板中增加一个节点
name:flash_img2
tpl_default:
<script type="text/javascript">
var swf_width=163
var swf_height=144
var files='{$=get_lrstr(itransfer('top', 'flash_img2_1', 'topx=5;tnum=40;genre=article;osql= and jtb_acontent_images_list <> """"'), '|', 'leftr')}'
var links='{$=get_lrstr(itransfer('top', 'flash_img2_2', 'topx=5;tnum=40;genre=article;osql= and jtb_acontent_images_list <> """"'), '|', 'leftr')}'
var texts='{$=get_lrstr(itransfer('top', 'flash_img2_3', 'topx=5;tnum=40;genre=article;osql= and jtb_acontent_images_list <> """"'), '|', 'leftr')}'
var config='0xffffff:文字颜色|0:文字位置|0x0072BC:文字背景颜色|50:文字背景透明度|0xffffff:按键文字颜色|0x0072bc:按键默认颜色|0x000033:按键当前颜色|5:自动播放时间(秒)|2:图片过渡效果|1:是否显示按钮|_blank:打开窗口'
document.write('<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase=" width="'+ swf_width +'" height="'+ swf_height +'">');
document.write('<param name="movie" value="{$global.images}swf/bcastr31.swf"><param name="quality" value="high">');
document.write('<param name="menu" value="false"><param name=wmode value="opaque">');
document.write('<param name="FlashVars" value="bcastr_file='+files+'&bcastr_link='+links+'&bcastr_title='+texts+'&bcastr_config='+config+'">');
document.write('<embed src="{$global.images}swf/bcastr31.swf" wmode="opaque" FlashVars="bcastr_file='+files+'&bcastr_link='+links+'&bcastr_title='+texts+'&bcastr_config='+config+'" menu="false" quality="high" width="'+ swf_width +'" height="'+ swf_height +'" type="application/x-shockwave-flash" pluginspage=" />'); document.write('</object>');
</script>
第三步:创建一个名为redir.asp的ASP文件,放在article文件包里与index.asp同级路径;
redir.asp文件代码内容为:
<%
response.redirect "./?type=detail&id=" & request("id")
%>
----------------------------------------------------
调用方法:
{$=ireplace('module.flash_img2', 'tpl')}
----------------------------
这里添加的FLASH幻灯图片效果,图片的调用是"技术文章"里内容的图片,这个调用是做在了article(技术文章)模块中~!!!
类别:jtbc cms使用笔记|评论(0)|浏览(334)
JTBC CMS学习资料
2010-01-30 1:31
官方:
JTBC官方网站:
JTBC作者网站:
JTBC学习博客:
电脑故障网博客:
打破沙锅问到底:
大鹏网页设计中心:
应用实例:
互联极速:http://www.china-
类别:jtbc cms使用笔记|评论(0)|浏览(148)
JTBC学习研究
2010-01-30 1:08
类别:jtbc cms使用笔记|评论(0)|浏览(128)
jtbc论坛随机文字广告插件!
2010-01-27 22:47
文件:forum/inc/PostAd.js
<!--
a = 2;if(a==0){a=1}
var slump = Math.random();
var talet = Math.round(slump * (a-1))+1;
function create() {
this.under = ''
}
b = new Array()
for(var i=1; i<=a; i++) { b[i] = new create() }
b[1].under ='<font color="blue">[广告] </font><a target="_blank" href="http://jtbc.N color="red">jtbc.N 论坛欢迎您的到来</font></a>'
b[2].under ='<font color="red">[注意] </font><a target="_blank" href="http://jtbc.N color="blue">jtbc.N 希望能给您带来方便.</font></a>'
var visa = "";
document.write(b[talet].under);
//-->
[NextPage]
文件:forum/Admin_PostAd.Asp
<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link href="/cms/admin/common/css/default.css" type="text/css" rel="stylesheet">
<title>首页 </title>
<script language="javascript" src="common/images/js/main.js"></script>
<form method=POST action=?action=fucnok>
<div align="center">
<table class="tabc lrbtline" cellspacing="1" cellpadding="4" width="100%" border="0" align="center">
<tr height="25">
<td class="tbtop" align="left"><b>帖间广告设置</b></td>
</tr>
<tr height="40">
<td class="tda" width="60%">
论坛已有广告的代码:清空代码即删除广告。</td>
</tr>
<%
'文件内容读取.
Function readfile(ByVal File)
Dim objStream
On Error Resume Next
Set objStream = Server.CreateObject("ADODB.Stream")
If Err.Number=-2147221005 Then
Response.Write "<div align='center'>非常遗憾,您的主机不支持ADODB.Stream,不能使用本程序</div>"
Err.Clear
Response.End
End If
With objStream
.Type = 2
.Mode = 3
.Open
.LoadFromFile Server.MapPath(File)
If Err.Number<>0 Then
Response.Write "<div align='center'>文件<font color='#ff0000'>"&File&"</font>无法被打开,请检查是否存在!</font></div>"
Err.Clear
Response.End
End If
.Charset = "utf-8"
.Position = 2
readfile = .ReadText
.Close
End With
Set objStream = Nothing
End Function
dim tmpstr,tmp,ad_num,ad_i,ad_tmp
tmpstr=readfile ("inc/PostAd.js")
tmp=split(tmpstr,chr(13)&chr(10))
ad_num=replace(tmp(1),"a = ","")
ad_num=int(replace(ad_num,";if(a==0){a=1}",""))
for ad_i=1 to ad_num
ad_tmp=replace(tmp(ad_i+8),"b["&ad_i&"].under =","")
ad_tmp=replace(ad_tmp,"'","")
response.write"<tr><td width=60% class=a3><textarea rows=5 cols=75 name=ad_v"&ad_i&" style='font-family: 宋体; font-size: 10pt'>"&ad_tmp&"</textarea>效果:"&ad_tmp&"</td></tr>"
next
%>
<tr>
<td class="tda" width="60%">增加广告:<br>
<textarea row=3 cols=75 name=ad_v<%=ad_num+1%> rows="5" style="font-family: 宋体; font-size: 10pt"></textarea></td>
</tr>
<tr>
<td class="tda" width="60%">最终效果:<script language=Javascript src=inc/PostAd.js></script></td>
</tr>
<tr>
<td class="tda" width="520" height="35" align="center">
<input type="submit" value=" 确 认 修 改 " name="B1"></td>
</tr>
</table></div>
</form>
<%
'存储内容到文件
Sub SaveToFile(ByVal strBody,ByVal File)
Dim objStream
On Error Resume Next
Set objStream = Server.CreateObject("ADODB.Stream")
If Err.Number=-2147221005 Then
Response.Write "<div align='center'>非常遗憾,您的主机不支持ADODB.Stream,不能使用本程序</div>"
Err.Clear
Response.End
End If
With objStream
.Type = 2
.Open
.Charset = "utf-8"
.Position = objStream.Size
.WriteText = strBody
.SaveToFile Server.MapPath(File),2
.Close
End With
Set objStream = Nothing
End Sub
if Request("action")="fucnok" then
dim adv_num,ad_msg
tmpstr=readfile ("inc/PostAd.js")
tmp=split(tmpstr,chr(13)&chr(10))
ad_num=replace(tmp(1),"a = ","")
ad_num=int(replace(ad_num,";if(a==0){a=1}",""))
adv_num=0
for ad_i=1 to ad_num+1
ad_tmp=replace(request.form("ad_v"&ad_i&""),"'","")
if trim(ad_tmp)<>"" or isnull(ad_tmp)then
adv_num=adv_num+1
ad_msg=ad_msg&"b["&adv_num&"].under ='"&ad_tmp&"'"&vbcrlf
end if
next
adend="<!--"&vbcrlf&"a = "&adv_num&";if(a==0){a=1}"&vbcrlf&"var slump = Math.random();"&vbcrlf&"var talet = Math.round(slump * (a-1))+1;"&vbcrlf&"function create() { "&vbcrlf&"this.under = '' "&vbcrlf&"}"&vbcrlf&"b = new Array() "&vbcrlf&"for(var i=1; i<=a; i++) { b[i] = new create() } "&vbcrlf&ad_msg&"var visa = """";"&vbcrlf&"document.write(b[talet].under); "&vbcrlf&"//-->"
SaveToFile adend,"inc/PostAd.js"
response.redirect"Admin_PostAd.Asp"
end if
%>
使用方法:
修改论坛内容页摸板:topic_detail
在合适位置加入调用代码:
<table cellpadding="0" cellspacing="0" width="100%">
<tr>
<td width="140" class="tda rbline"><img src="{$images}icon/time.gif" border="0">{$time}</td>
<td width="*" class="tda bline"> <script language=Javascript src=popads/inc/PostAd.js></script>
</td>
</tr>
</table>{$recurrence_ida}
修改后台管理菜单:cms\forum\common\guide.jtbc
加入以下内容.
<item>
<disinfo><![CDATA[{$path}/popads/Admin_PostAd.Asp]]></disinfo>
<chinese>广告管理</chinese>
</item>
补充:本插件未做登陆判断.需要的自己加上,可参考其他文件.
在保存的时候两个文件都保存为UTF-8不然会乱码的
类别:jtbc cms使用笔记|评论(0)|浏览(251)
JTBC函数集
2010-01-27 22:38
itransfer 函数
调用数据库表中的数据并格式化输出
itransfer(type, tpl, vars)
参数
type
类别,有top,hot,new,good,up,down
tpl
模板名称
vars
复合参数,可以用的有 genre 模块名称,topx 调用的记录数, rnum 列数, tnum 标题数, cls 模
糊类别编号, class 精确类别编号, html 是否允许 HTML, bid 参照ID(在类别up,down时使用到)
, osql 附加的SQL语句, baseurl 基地址
作用
可以按照模板所设置好的显示样式显示出调用数据,因此其可变性最强的还是在调用模板这一块,创建各
种的调用模板可以调用出各种各类的调用显示模式。
备注
网站流量大的朋友不妨试试使用JS调用插件来配合此调用函数来完成数据调用的操作
==========================================================================
isort 函数
调用类别并格式化输出内容
isort(vars)
参数
vars
复合参数,其中有 class 父类别,tpl 模板,genre 模块名称, rnum 显示列数
作用
调用类别并格式化输出内容,在调用类别的模板上做文章可以调用出不同的样式,比如只调用1级类别,
只调用某个类别下面的子类别,循环调用1级2级类别,调用当前类别的子类别等等。
==========================================================================
irss 函数
调用一个RSS文件并格式化输出
irss(path, template, vars)
参数
path
RSS的路径地址
template
使用的模板名称
vars
复合参数,标题字数,列数等等
作用
调用一个RSS文件并格式化输出
==========================================================================
bytestobstr 函数
将二进制流转换为字符串
bytestobstr(body, charset)
参数
body
二进制流
charset
编码
作用
将二进制流转换为字符串
==========================================================================
unite_array2 函数
合并2个二维数字
unite_array2(array1, array2)
参数
array1
二维数字1
array2
二维数字2
作用
合并2个二维数字
==========================================================================
urlencode 函数
对字符串进行URL编码
urlencode(string)
参数
string
需要编码的字符串
作用
对字符串进行URL编码,以保证代码的正常显示
==========================================================================
show_num_select 函数
输出连续的数字选项
show_num_select(num1, num2, value)
参数
num1
起始数字
num2
结束数字
value
选中值
作用
输出连续的数字选项
==========================================================================
show_old_select 函数
输出出生年的下拉选项
show_old_select(value)
参数
value
选中值
作用
默认输出5-100岁年龄者的出生年,使选项跟随时间的改变而改变
==========================================================================
show_xmlinfo_select 函数
将一个选项配置格式的XML文件格式化输出
show_xmlinfo_select(infostr, value, template)
参数
infostr
用以对应XML文件的描述字符串
value
当前选中的选项值
template
输出使用的模板类型
作用
将一个选项配置格式的XML文件格式化输出,可以输出下拉选项,单选框,复选框等
==========================================================================
save_file_text 函数
保存一个文本文件并返回是否成功保存的是非值
save_file_text(path, string)
参数
path
保存文件的路径
string
文本文件的内容
作用
保存一个文本文件并返回是否成功保存的是非值
==========================================================================
strlength 函数
返回字符串的长度
strlength(string)
参数
string
字符串
作用
返回字符串的长度,其中的非数字与字母均被认为是2个长度
示例
Dim stra: stra = strlength("1abc")
D
展开阅读全文