杰奇入门级区块调用的两种模式,写法教程

本文阅读 6 分钟
广告

区块调用基本就是杰奇模板的开发的基础步骤之一了,页面上的小说列表,排行榜和书籍出现的各个位置都是模板开发者所定义的区块,这些在杰奇的后台也有对应的位置。杰奇的官方给出了两种定义并且调用区块的办法,相对于其它程序而言自由程度相当高,但是也提高了复杂性,不过真的要理解起来也相当容易,而且后台也给出了详细的说明。对于1.7版本相对来说比较麻烦,区块信息写入数据库,后台的控制有些莫名其妙,虽然可以直接修改配置文件,但是一旦在后台进行了一次提交,配置文件会被立刻刷新。
但是这篇文章只讲述配置文件定义,以及模板直接定义法。

杰奇配置文件写法

配置文件的整个定义如下所示,对应的文件是/configs/blocks.php

对于杰奇1.7版本,配置文件写法:

$jieqiBlocks['4']['bid'] = '50';
$jieqiBlocks['4']['blockname'] = '点击排行';
$jieqiBlocks['4']['module'] = 'article';
$jieqiBlocks['4']['filename'] = 'block_articlelist';
$jieqiBlocks['4']['classname'] = 'BlockArticleArticlelist';
$jieqiBlocks['4']['side'] = '5';
$jieqiBlocks['4']['title'] = '点击排行';
$jieqiBlocks['4']['vars'] = 'allvisit,21,0,0,0,0';
$jieqiBlocks['4']['template'] = 'xinxin.html';
$jieqiBlocks['4']['contenttype'] = '4';
$jieqiBlocks['4']['custom'] = '0';
$jieqiBlocks['4']['publish'] = '3';
$jieqiBlocks['4']['hasvars'] = '1';

对于杰奇1.8以上版本,配置文件写法:

$jieqiBlocks['4'] = array (
  'bid' => '',
  'blockname' => '点击排行',
  'module' => 'article',
  'filename' => 'block_articlelist',
  'classname' => 'BlockArticleArticlelist',
  'side' => '-1',
  'title' => '点击排行',
  'vars' => 'allvisit,21,0,0,0,0',
  'template' => 'xinxin.html',
  'contenttype' => '4',
  'custom' => '0',
  'publish' => '3',
  'hasvars' => '1',
);

数字4为区块编号,module,filename,classname三项是申明模块,区块文件,区块类。vars定义需要调取哪些书籍,这个后面讲,template定义这个区块的模板,其它的不是很重要,我就不讲述了。

那么在模板中引入这个区块的代码如下:

{?$jieqi_pageblocks['4']['content']?}

而模板文件xinxin.html是在/modules/article/templates/blocks文件夹中,里面负责数据的循环调用,比如我的代码是:

{?section name=i loop=$articlerows?}
<span>[<a href="{?$articlerows[i].url_articleinfo?}">书页</a>]<a href="{?$jieqi_url?}/book/{?$articlerows[i].articleid?}">{?$articlerows[i].articlename?}</a>{?$articlerows[i].lastchapter?}</span>
{?/section?}

上面出现的标签就参考杰奇标签大全,我就不解释含义。

杰奇的后台有对vars的描述,每个版本的都有,而且版本越高描述越复杂,参考后台的说明为准,以杰奇1.7为例:

   本区块允许用户自定义模板和参数,并且不同的设置可以保存成不同的区块。
    区块默认模板文件为“block_articlelist.html”,在/modules/article/templates/blocks目录下,如果您定义了另外模板文件,也必须在此目录。模板文件设置留空表示使用默认模板。
    区块允许设置六个参数,不同参数之间用英文逗号分隔“,”。
    参数一是排行方式(默认按总访问量),允许以下几种设置:1、“allvisit” - 按总访问量;2、“monthvisit” - 按月访问量;3、“weekvisit” - 按周访问量;4、“dayvisit” - 按日访问量;5、“allvote” - 按总推荐次数;6、“monthvote” - 按月推荐次数;7、“weekvote” - 按周推荐次数;8、“dayvote” - 按日推荐次数;9、“postdate” - 按最新入库;10、“toptime” - 按本站推荐;11、“goodnum” - 按收藏数量;12、“size” - 按文章字数;13、“lastupdate” - 按最近更新;
    参数二是显示行数,使用整数(默认 15)
    参数三是文章类别(默认 0 表示所有类别),此处使用得是类别序号而不是名称,比如“玄幻小说”类别序号是 3 ,这里就设置成 3,如果要同时选择多个类别,可以用“|”分隔,比如 3|4|7
    参数四是指是否原创(默认 0 表示不判断),1 表示只显示原创作品,2 表示转载作品
    参数五是指是否全本(默认 0 表示不判断),1 表示只显示全本作品,2 表示连载作品
    参数六是指显示顺序(默认 0 表示按从大到小排序),1 表示从小到大排序。
    参数设置中一项或者多项留空均表示使用默认值。例子: “lastupdate,,0,1,0,0” 表示显示15条最近更新的原创作品,其中第二个参数留空,所以使用默认的15条。

杰奇模板直接定义写法

每个版本都没有大差别,只是后面的版本可以调用的模块更多,更加复杂,得以承受更复杂得小说网需求,以调用点击排名为例。

{?block bid="0" module="article" filename="block_articlelist" classname="BlockArticleArticlelist" side="0" title="区块名称" vars="allvisit,5,0,0,0,0" template="block_so.html" contenttype="4" custom="0" publish="3" hasvars="1"?}

或者是调用小说分类列表为例。

{?block bid="toplist" module="article" filename="block_sort" classname="BlockArticleSort" side="0" title="分类列表" vars="" template="sort.html" contenttype="0" custom="0" publish="3" hasvars="0"?}

直接写在模板里面,修改调用也只能在模板,我一般制作1.7模板都是这样定义区块来节约时间。当然还有很多页面,这样的方式可以更加方面的调用数据,比如小说目录。

两种方法各有特色,值得一提的是:

配置文件定义法可以在后台修改,方便使用者,但是步骤复杂
模板直接定义法只能在模板修改,方面开发者,但是步骤简单

文章加入熊掌号原创保护,转载注明来源。

本文来自投稿,不代表本站立场,如若转载,请注明出处:https://www.ruletree.club/archives/691/
天吟模板店,停业通知
« 上一篇 04-24
杰奇基础级区块调用的模块设置,写法教程
下一篇 » 04-28
广告

发表评论

V注册会员 L评论等级
R3 条回复
  1. 2019-04-06     Linux /    Google Chrome

    [...]之前讲了入门级的区块调用,主要是用于首页和自定义单页,但是在实际的模板制作过程来说,不可能所有的模板全部调用全局的数据吧,自然需要更灵活的调用方式来承担。杰奇官方提供了一大堆可以调用的模板和比较复杂的调用方式,同样的我只能有限的参考了其它模板开发者的编写,在此文章只提供几个常用的案例。上篇文章:杰奇入门级区块调用的两种模式,写法教程[...]

  2. 第九中文网Lv.1 说道:
    2019-01-31     Win 7 /    Chrome

    就你最厉害,博客板子很好啊;老哥

    1. 不暇VLv.6 说道:
      2019-01-31     Win 10 /    Chrome

      @第九中文网

      板子移植的

没有更多评论了

作者信息

热门文章

标签TAG

热评文章