书签 分享 收藏 举报 版权申诉 / 15

类型akcms模板教程by大白菜lajiu.docx

  • 文档编号:10073399
  • 上传时间:2023-02-08
  • 格式:DOCX
  • 页数:15
  • 大小:60.75KB

  

      

          

1分类

          

aaaa

          

bbbb

          

cccc

      

  

  

我的版权没有,馒头的版权[powered]

CSS代码:

*{margin:

0;padding:

0;}

#header,#footer{      width:

900px;height:

100px;background:

#eee;}

#content{      width:

900px;height:

400px;background:

#999;}

效果图:

我费很大劲做了一个简单的首页模板就是上面这个图。

可以看到这个页面分成了三个主要部分:

headercontentfooter。

我知道(地球人应该都知道),header和footer基本上在所有的页面里是变化不大的,所以我把它俩做成子模板,其实子模板存在的意义就是代码的复用(重复利用)。

方便在所有的页面里重复利用。

我在header里只做了一个导航:

1分类2分类(馒头说,分类就是后台的栏目,我很相信这是真的。

),同时,在程序里也建立了1分类2分类这样的栏目,同时在1分类下建立aaaa/bbbb/cccc三个文章。

模板制作正式开始:

1.打开后台菜单:

系统管理/模板管理/主模板/增加一个新模板,并起名叫index.htm,点击添加。

点击index.htm编辑,把首页的HTML代码都拷来,点击保存。

首页模板已经建立好了。

但打开网站首页还是看不到,所以进行下一步。

(怎么和馒头说的很相像,没错,我就是站在馒头的肩膀上写教程的,虽然我一定不是成功人士。

2.在网站根目录下建立一个index.php文件,内容为

php

$_GET['id']=1;          PS:

这里指(我也菜,得叫馒头来讲)反正首页调用都得这么用。

记住就行了。

$template='index.htm';    ps:

这里指调用哪个模板来显示网页的内容

include("akcms_item.php");    ps:

这时指调用akcms接口文件来获得网站内容

?

>

然后再打开网站:

http:

//你的域名/

你看到了和你建立的首页不太一样,内容一样,样式不同了,原来没有把css文件用上。

把img文件夹放到根目录下,再看首页,还是不一样,按一下F5,再按一下F5,一样了吧。

(小样儿,看我怎么收拾你,我费这么大劲,敢和我作对。

哼哼~~~~~)

2.刚说了,header和footer要做成子模板,好了,接着来。

增加一个header.htm子模板,内容就是:

首页中的header:

      1分类  2分类

  

做了这个子模板后,打开主模板index.htm并把里面的header部分删除,换成这一句

<{includefile='header'}>  ps:

这句的意思就是在index.htm模板里调用header.htm子模板

同样,把index.htm里的footer做成子模板footer.htm。

用<{includefile='footer.htm'}>替换index.htm主模板里的

我的版权没有,馒头的版权[powered]

这样主模板的内容就变成了:

DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01Transitional//EN""http:

//www.w3.org/TR/html4/loose.dtd">

  大白菜教程

  <{includefile='header'}>    //调用header.htm子模板

  

      

          

1分类

          

aaaa

          

bbbb

          

cccc

      

  

  <{includefile='footer.htm'}>  //调用footer.htm子模板

3.这样,做了一个主模板:

index.htm和两个子模板header.htmfooter.htm,并且在主模板里已经调用了子模板。

这时打开网站首页,发现和自己做的静态HTML首页一模一样。

这就对了,本来这就是静态的。

下一节我们再学习如何动态调用网站内容

QQPhoto20140101213420.jpg (7.34KB,下载次数:

0)

首页效果图

设计图.png (2.49KB,下载次数:

0)

设计图

再看首页的顶部导航栏,虽然内容显示出来了,但是那是大白菜-lajiu做的,是固定不变的,下面我们就把数据动态的调出来。

(馒头的肩膀就是结实,哈哈)

打开子模板header.htm把内容

1分类    2分类删去,

换成:

">首页<{getcategoriesnum="20"template="[category]    "}>

然后再打开网站http:

//您的域名/,发现不同了没有,是的,多了一个首页的链接。

其实是">首页这句在起作用。

$home就是网站的首页地址。

getcategoriesnum="20"  这句话意思是获取20个栏目的名称

template="[category]      这句话意思是获取栏目名称后用什么方式显示。

[url]是获取到的栏目的链接目标地址。

[category]代表获取的栏目名称

值得说明的是template指的就是HTML模板,举个例子(下面这个例子就是在content中要用到的,所以最好记住。

):

请注意下面代码中红色部分:

<{getcategoriesid="$v_block1"template="

[category]

<#getitems(#)category=$v_block1(#)num=11(#)template=

[title:

60]

#>

"}>

把它们单独取出来就是:

不错,这正好就是纯HTML代码。

而其它部分就是Akcms的模板标签语句。

具体的标签函数表示什么意思以及如何应用,请大家参考手册和馒头的模板。

可以看出来akcms模板标签的使用方法:

大致是  用标签调用网站内容+template=“HTML模板(把调出来的变量放在适当的位置)”,更高级的用法还需要自己去研究。

这里就不多说了。

同样的方法也可以把子模板footer.htm部分的内容做了。

可以参考郑较瘦的的教程

第三节首页内容:

最近更新1

首页的header和footer已经做好了,下面开始做首页面主体内容部分。

一般的,首页主体展示一些最新,最热的文章。

下面我们一步步来完成这些内容。

1.首页主体的源代码如下:

1分类

aaaa

bbbb

cccc

//ps:

请在后台把默认分类名改为1分类,它前面有个数字1,这个就是1分类的栏目ID。

如果再加一个栏目:

2分类,则2分类的栏目ID就是2.这些ID是自动+1的。

你可以在前台调用这些ID。

分析:

这是一个DIV,里面一个自定义列表,其中表头用h3表示。

列表项里面的aaaa/bbbb/cccc/是1分类里面的文章名。

并且我们给它们一个链接,点击连接,就会打开文章内容页面进行阅读。

2.下面我们在首页模板里加上这段语句:

<{getcategoriesid="1"template="

[category]

<#getitems(#)category=[category](#)num=11(#)template=
[title:

60]

#>
"}>

注意:

这里用到了模板标签的嵌套。

<{getcategoriesid="1"template="

[category]

代码的意思是:

获取id为1的栏目名,并做为标题放在dt里面。

<#getitems(#)category=[category](#)num=11(#)template=

[title:

60]

#>这段代码就是嵌套在上级模板标签里的子标签。

它的意思是:

调用1分类里的所有文章名,并把它做为列表列出来(而且还加上了链接地址,一点就可以看文章了,呵呵,简单吧)。

可能有神要问了,这里是可以调用栏目名和文章名了,但这里不是最近更新啊,(怎么不是,这不是你最近更新的吗?

这些文章还没超过一天。

呵呵,不要急,后面会慢慢学会的,小心扯到蛋。

)它只是1分类下的所有文章,2分类里的文章怎么没有出来?

你这么想就对了,本来嘛,就是酱紫的。

不过,我们得一点点来嘛,步子迈得太快了,就容易扯着蛋了。

鼓掌~~~~~~~~~~~好了好了,不要再鼓掌了,俺会害羞的,你知道,其实俺脸皮很薄的,嘻嘻。

(1)补充一点:

你试试把上面代码里的id="1"改成id="2",然后再刷新首页看看,是不是很神奇。

你再试试id="1,2"。

(天哪,竟然把1分类和2分类的文章都给弄出来了。

(2)再补充一点:

num=11中的11指的是要调用11篇文章,即使1分类里有100个文章,这里也只取11个。

(选择哪11个?

还是随机选择?

你自己试去吧,我就是试出来的结果。

)[title:

60]里的title就是指文章名。

在模板函数getitems里有详细说明。

后面的60表示取文章名的30个汉字。

(3)再等等,我真的就再补充一点点了:

在标签嵌套里的引号千万不要用错了,馒头已经做了详细解释。

还有,在子标签里能不用空格,不用回车就不要用了,光占系统资源。

还容易出错,像:

页面某个地方莫名其妙出现了'"等引号,或页面下方显示出一串鸟语……

(4)补充最后一点,也是我的经验之谈:

请用英文输入法进行编程。

有些中文输入法也能输入英文,但极个别的字符会影响程序正常运行。

请注意当你发现你的代码和示例代码完全一样,但示例代码能正常运行,而你的代码却出错时,一般就是输入法造成的。

(我在万能五笔中遇到过这种情况)不得不说,山寨版英文输入,就是比不上原版英文输入。

为此我还专门在我的win8.1上安装了英文。

嘘~~~~小声点,这是绝招,一般人我不告诉他。

嘿嘿。

3.这是本节要学习的内容。

(A)最近更新显示哪些栏目的内容

(B)最近更新显示内容新到什么程度

(C)最近更新内容按什么顺序排列

(D)最近更新用什么样式显示。

(A)最近更新要显示哪些栏目的内容呢。

我们可以让它就显示1分类的内容,可是2分类的内容显示不出来,如果还要显示N分类的内容又怎么办?

当然,活人不能让尿给那啥了,对不?

这里我们引入了一个东西:

也就是变量。

顾名思义,它可以变,它可能表示1分类,也可以表示2分类,还可以同时表示1分类+2分类+……N分类。

AKCMS的优秀就在于这里,在AKCMS中,你就是上帝,想咋地就咋地。

关于变量更多内容,请看这里

进后台-系统-变量-+添加输入zuijingengxin(是不是你认识这几个字母,当然,用英文更好,不过我英文在20年以前那是刚刚的,然后……就没有然后了,除了在网络中和电影中见到英语,就是在小学语文课本中见到过……哦,那是长得和英语很像的——我最亲爱的奶奶语呀,(母语是汉语,拼音当然是奶奶语了)),然后点击后面那个叫下拉列表(我好像就这样叫,关键我明白它是什么,你可以叫下拉菜单。

不过一想菜单,就流口水了,所以……)的东东。

哇,好多好多好多“鱼”。

原来我自定义的zuijingengxin可以代表这么多种的类型。

我想让它代表1分类+2分类+…N分类,所以我选择了栏目(可多选)。

如图

在描述里你可以随便写点东西,方便你以后见到这个zuijingengxin后,了解它是个什么东西。

当然,这里写最近更新了。

然后点击确定。

(不然什么也不会发生。

点击后发生了变化。

哈哈,出现黄色画面了。

(那是我自己涂的,只为了吸引眼球。

你想让zuijingengxin这个变量表示什么,那就请点击黄色框里的栏目(对于本个例子来说,你应该已经建立了1分类和2分类,这个是我网站,和你的不同,不过方法一样的。

),如果想选择多个,请按着Ctrl点击(你应该点击1分类和2分类),最后点击确定。

ok,变量就可以代表1分类+2分类了。

同时也应该知道:

这个zuijingengxing的ID是最左面的2。

(不是说人2,而变量左面的2)

然后,把上面代码里的id="1,2"换成id="$_zuijingengxing"刷新首页,就看到了1分类和2分类下的所有文章了。

爱挑毛病的人问:

“我用id='1,2'同样实现了同样的功能,用变量做不是脱裤子屁吗?

”嗯?

貌似是这样的。

然而,当你想让最近更新的内容再加上N分类,你是不是得在模板中一点点去找到个地方,然后,在后台看ID,然后你就凌乱了。

而用了这个变量后,我只需要在后台用Ctrl+单击来完成这么复杂的任务了。

你说是不是用变量更有效率呢?

OK,最近更新显示哪些栏目的内容已经说完了。

下面应该(B)了。

更应该休息一会儿了。

做教程很费工夫,加上我个大白菜……心中比较无奈。

欲知后事如何,请听下回分解

第四节首页内容:

最近更新2

(B)最近更新显示内容新到什么程度?

<{getcategoriesid="zuijingengxin"template="

[category]

<#getitems(#)category=[category](#)num=11(#)template=
[title:

60]

#>
"}>

很明显,这些代码把1分类和2分类的所有文章(文章的数量用num=N来决定)都调出来了(因为我们总共也没有录入几个文章),我们再分别在1分类和2分类中录入几篇文章。

相比上回录入的文章,这次录入的文章可以称作是最近更新了。

(这不,还热乎着呢。

怎么办才能把最热乎的文章调出来,把已经冰凉的文章藏起来?

在这里找了半天终于找到了一个“专家”——newinseconds——指定只选出几秒内新建的文章,比如:

newinseconds="3600"则只取最近一小时录入的文章。

我们把newinseconds用上就行了。

看好地方,瞄准了,果断插入,代码变成了这样:

<{getcategoriesid="zuijingengxin"template="

[category]

<#getitems(#)category=[category](#)num=11(#)newinseconds=3600(#)template=
[title:

60]

#>
"}>

提示,newinseconds="3600"插入到子标签时,变成了newinseconds=3600,也就是说,没了双引号了,如果还带着双引号,则会在调出的来的页面出现双引号。

你再建立一个文章,把3600改成600,刷新首页,会发现什么?

你做了自然会清楚。

你清楚了用什么参数(变量)控制最近更新的内容。

也就是(B)的答案。

(C)最近更新按什么顺序排列?

比如,你调出了5篇文章,但显示出来以后,哪个排到第一位?

哪个老大,哪个老二,哪个老三……头痛不?

当然不,大不了让它们自己折腾去。

爱谁谁!

且慢,前面说过,在AKCMS中,我就是上帝,我让谁老大就谁老大。

得听我安排。

想一想这些文章用什么排列好呢?

用字数多少?

当然不行,这又不是夸福,钱多就能买好座位。

我想用发布时间来排序,最后发表的当然是最新的,并且我还在这里找到了YMD……等表达时间的变量。

然后想用一个比较时间大小的方法来排列……OHMYGOD怎么这么难?

突然,我脑海中蓦地响起一声惊雷:

文章ID是+1的。

ID大的文章新。

我真聪明~~~~~~你觉得你们也一定会这样认为的。

得,就用ID来排序。

这次找来一只“叫兽”来干这活儿——orderby。

馒头怕咱不够用,还orderby1,orderby2……估计够用了。

此处引用(再次踩上巨人的臂膀)馒头的教程:

“orderby排序方式(可选值:

id(序号),orderby(排序值),orderby2(排序值2),orderby3(排序值3),orderby4(排序值4),time(时间),pv(页面浏览量),random(随机)(4.1.2以下版本SQLite版random不生效,4.1.2开始SQLite也可以随机排序),update(最后修改时间),title(按题目),count(用搜索引擎根据关键字搜索时匹配的次数),inid(按照id的顺序,例:

id="8,6,9"的顺序依次8、6、9),comment(最后评论时间,4.1.2起支持),commentnum(评论数,4.1.2起支持),默认是从小到大的顺序,如果想从大到小,则在后面加上一个_reverse,比如:

orderby="orderby_reverse"按照排序值从大到小排列,orderby="pv_reverse"按照访问量从大到小排列)也支持多个排序方式,中间用逗号分开,比如:

orderby="orderby_reverse,id"意思是先按排序值从大到小排列,如果排序值相同则按ID从小到大排列。

”不用我多说了吧,你自己找个得劲儿的地方把orderby="orderby_reverse,id"插入就行了。

(D)最近更新以什么样式显示?

样式,是CSS的强项,你不会想让AKCMS把样式的工作也抢去吧?

尽管干爹干起了老公的活;小三干起了纪委的活,母鸡抢了公鸡碗,但是,这和馒头有什么关系呢?

找个没人的地儿一咪,好好自己去学CSS吧。

完了!

真的完了!

感觉首页中的幻灯、公告、友情……都可以按猫画虎地做完,不同的是标签和变量及各种参数的变化而已。

其实感觉学到这里,下面的列表页、内容页基本上都应该

举报
举报
版权申诉
版权申诉
word格式文档无特别注明外均可编辑修改;预览文档经过压缩,下载后原文更清晰! 立即下载
配套讲稿:

如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

特殊限制:

部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

关 键  词:
akcms 模板 教程 by 大白菜 lajiu
提示  冰豆网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
关于本文
本文标题:akcms模板教程by大白菜lajiu.docx
链接地址:https://www.bdocx.com/doc/10073399.html

copyright@ 2008-2022 冰点文档网站版权所有

经营许可证编号:鄂ICP备2022015515号-1

收起
展开