杰奇模板制作、主题函数、区块模板
一、首先要了解下杰奇模板文件的说明。1、 首页
有的首页是根目录下的index.php,不过官方给的是加密的,当然在网上也找到没加密的了,新建个文本文档,然后在里面复制上如下代码
<?php
define('JIEQI_MODULE_NAME', 'system');
require_once('global.php');
jieqi_getconfigs(JIEQI_MODULE_NAME, 'blocks');//包含区块参数,没有区块的话可以注释掉,1.6版本可以直接在模版里调用区块,下面有具体说明
include_once(JIEQI_ROOT_PATH.'/header.php'); //包含页头处理
$jieqiTset['jieqi_page_template']=JIEQI_ROOT_PATH.'/templates/index.html';//设置该页面的模板文件(index_1可以自定义名称)
$jieqiTpl->assign('jieqi_indexpage',1);//设置首页标志,不是首页请注释本语句,便于模板里面可以判断,给模板其他参数赋值也用这个方法
include_once(JIEQI_ROOT_PATH.'/footer.php');//包含页尾处理
?>
其中$jieqiTset['jieqi_page_template']=JIEQI_ROOT_PATH.'/templates/index.html';的'/templates/index.html就是我们模板首页的模板地址了。
2、 网站整体风格模板
这个模板在在根目录下的themes文件夹下,这个下面有不少文件夹,每个文件夹就是一种风格模板,复制一个原来的改下名字就是我们要做模板的名字了,然后在原来的基础上改成自己的模板就行,这个后面我们会介绍。整体风格模板主要是风格文件夹下的theme.html文件。
3、 小说信息页模板
小说信息页模板在根目录\modules\article\templates\中的articleinfo.html文件,这个文件显示的内容是嵌套在整体风格模板theme.html中的,后面具体讲解怎么制作模板会说。
4、 小说排行页面模板和小说列表模板
这两个模板分别是根目录\modules\article\templates\下的articlelist.html和articlelist.html文件同样这两个也是嵌套在整体风格模板theme.html中的
5、 小说章节目录页面和小说阅读页面模板
这两个模板是在\modules\article\templates\下的index.html和style.html,这两个是单独页面。没有嵌套在整体风格模板theme.html中.
6、一些常用变量(每个页面都可以直接用)
<{$jieqi_pagetitle}> // 网页标题
<{$jieqi_charset}> // 网页字符集,对应后台系统定义中的“默认语言”
<{$meta_keywords}> // 网页关键字,对应后台系统定义中的“网站关键字”
<{$meta_description}> // 网站描述,对应后台系统定义中的“网站描述”
<{$meta_author}> // 作者
<{$meta_copyright}> // 版权申明,对应后台系统定义中的“版权申明”
<{$jieqi_css}> // 系统CSS引用,由系统自动生成
<{$jieqi_head}> // 头部插入代码,对应后台系统定义中的“头部插入代码”
<{$jieqi_top_bar}> // 顶部通栏代码,对应后台系统定义中的“顶部通栏代码”
<{$jieqi_logininfo}> // 注册用户登入详细资料
<{$url_gb2312}> // GB2313编码的链接
<{$url_big5}> // BIG5编码的链接
<{$jieqi_imageurl}> // JIEQI CMS
图片文件夹路径
<{$jieqi_url}> // 首页链接对应后台系统定义中的“网站地址”
<{$jieqi_banner}> // BANNER代码,对应后台系统定义中的“BANNER代码”
<{$jieqi_email}> // 联系Email,对应后台系统定义中的“联系Email”
<{$jieqi_menu}> // 系统菜单,如果后台系统定义中“是否使用系统菜单”一是,则使用由
configs/mainmenu.php 定义的菜单项目
<{$jieqi_sitename}> // 网站名称,对应后台系统定义中的“网站名称”
<{$jieqi_bottom_bar}> // 底部通栏代码,对应后台系统定义中的“底部部
7、一些常用语法和函数
循环语法 格式:{?section name=i loop=$var columns=1?}{?/section?}
判断语法 格式:{?if ... ?}...{? else ?}...{?elseif?}...{?/if?}
截取字符串 格式{?$var|truncate:length:"......"?}
二、模板制作。
区块制作
所谓区块就是页面那些公共的模块,比如首页的编辑推荐栏目,最近更新栏目,最热门之类的。区块的模板文件在\modules\article\templates\blocks文件夹下面
在页面调用区块有两种方法
第一种是在后台区块管理指定区块位置,然后在页面调用,个人觉得这种不灵活,不好处理不多讲。
第二种是直接在页面新建一个某个类型的区块。
1、在页面中调用区块
下面举个例子,比如首页的编辑推荐模块。
{?block bid="47" module="article" filename="block_commend" classname="BlockArticleCommend" title="封面推荐" vars="1|2|3|4|5|6" template="Myblock_fenmiantuijian.html" contenttype="1" custom="0" publish="3" hasvars="1"?}
其中中的参数我们都可以在后台找到,比如这个是封面推荐,我们就可以在后台区块管理中找到封面推荐哪行,然后把“配置文件写法“那列文本框里面的东西复制出来
$jieqiBlocks[]=array('bid'=>47, 'blockname'=>'文章封面推荐', 'module'=>'article', 'filename'=>'block_commend', 'classname'=>'BlockArticleCommend', 'side'=>0, 'title'=>'封面推荐', 'vars'=>'', 'template'=>'block_commend.html', 'contenttype'=>1, 'custom'=>0, 'publish'=>3, 'hasvars'=>2);
对应这个'module'=>'article',中的article填到我们定义的区块module="article"中,同理找到对应的填好我们自己定义的区块就行,然后就是template代表该模块模板文件名称,这个我们可以自定义。比如我的就是Myblock_fenmiantuijian.html,只要新建个Myblock_fenmiantuijian.html放到\modules\article\templates\blocks下就行了。另外搜索区块和分类阅读区块模板不允许指定别的只能用系统自带的了。
2、区块模板写法
一般我们也是在原来区块模板文件上改就行了,比如封面推荐区块模板
<ul class="tuwen">
<!—这里代表循环开始
{?section name=i loop=$articlerows?}
<!-- $i['order']代表当前循环的次数
{?if $i['order']<7?}
<li>
<div class="shujieshao">
<div class="fengmian">
<a href="{?$articlerows.url_articleinfo?}">
<img src="{?$articlerows.url_image?}" width="120" height="150" />
</a>
</div>
<div class="bookinfo">
<div class="booktitle">
<a href="{?$articlerows.url_articleinfo?}"><span style="color: #CC0000;">{?$articlerows.articlename?}</span></a></div>
<div style="margin-top: 10px;">
作者: <a href="userpage.php?uid={?$articlerows.authorid?}"><span style="color: #007F00">{?$articlerows.author?}</span></a></div>
<div class="jianjie">
<a href="{?$articlerows.url_articleinfo?}">{?$articlerows.intro|truncate:80:"...."?}</a>
</div>
</div>
</div>
</li>
{?/if?}
{?/section?}
<!—这里代表循环结束
</ul>
解释下变量的意思
{?$articlerows.url_articleinfo?}小说信息页URL
{?$articlerows.url_image?}小说封面图片地址
{?$articlerows.articlename?}小说名称
{?$articlerows.intro?}小说内容
{?$articlerows.intro|truncate:80:"...."?}小说内容截取80字符,然后补充….
当然还有很多 这些只是常用的,下面列举了一些,由于版本不同可能有些差异,不过大部分都行的,不行的可以再去网上找找杰奇模板标签试试
articlerows.articleid - 文章序号
articlerows.articlename - 文章名称
articlerows.url_articleinfo - 到文章信息页x的url
articlerows.lastchapterid - 章节序号
articlerows.lastchapter - 章节名称
articlerows.url_lastchapter - 章节的url
articlerows.lastvolume - 分卷序号
articlerows.lastvolume - 分卷名称
articlerows.url_articleindex - “最新章节”的url
articlerows.authorid - 作者序号
articlerows.author - 作者
articlerows.posterid - 发表者序号
articlerows.poster - 发表者
articlerows.agentid - 代理者序号
articlerows.agent - 代理者
articlerows.sortid - 类别序号
articlerows.sort - 类别
articlerows.size_k - 文章字节数
articlerows.dayvisit - 文章当天访问量
articlerows.weekvisit - 文章本星期访问量
articlerows.monthvisit - 文章本月访问量
articlerows.allvisit - 文章所有访问量
articlerows.dayvote - 文章当天票数
articlerows.weekvote - 文章本星期票数
articlerows.monthvote - 文章本月票数
articlerows.allvote - 文章所有票数
articlerows.lastupdate - 最后更新日期
articlerows.fullflag - 文章状态
3、首页模板就是区块堆出来的,设计好自己需要的区块放上去就好,另外首页的<head></head>中的内容页可以自定义,只要调用那些表示关键词之类的变量就行了。首页的css文件,图片,js之类的可以单独放一个文件夹。
4、整体风格页面和首页唯一不同的是要设计好那些部分是不变的,那一部分是主页面是变化的,比如像页面左边或者右边那些热门小说,最新入库之类的是不变的,也就是说这些是区块,中间的变化的,比如小说信息页显示单本小说信息的地方时变化的。我们设计的时候就是把不变用区块定义好,变化的{?$jieqi_contents?}变量表示,系统会把那些页面签到到{?$jieqi_contents?}放置的位置。
5、小说章节目录模板页面制作
小说章节目录模板页是\modules\article\templates\index.html文件
先介绍下这模板用到的标签
{?$sortid?}类型ID
{?$sortname?}类型名称
{?$article_title?}小说名称
{?$author?}作者
当然还有一席系统通用的,关键字,网站名称之类的跟前面的一样
{?section name=i loop=$indexrows?}开始循环章节
{?if $indexrows.ctype == "volume"?}如果是卷名
{?$indexrows.vname?}输出卷名
{?$indexrows.curl1?}章节URL(第一列)
{?$indexrows.cname1?}章节名称(第一列)
说明下一般章节是每行四个,所以{?$indexrows.curl1?}代表第一列的{?$indexrows.curl2?}代表第二列的{?$indexrows.curl3?}代表第三列的,{?$indexrows.curl4?}代表第四列的
{?/ section?}循环结束
写好自己的html代码嵌套到循环中就可以了。
小说阅读页面只需要打开原来的页面稍微改下就行了,这里不介绍了。
做完后只需要覆盖对应的文件,清空下缓存就行了。
页:
[1]