phpcms中文标签.docx
- 文档编号:5196961
- 上传时间:2022-12-13
- 格式:DOCX
- 页数:11
- 大小:22.30KB
phpcms中文标签.docx
《phpcms中文标签.docx》由会员分享,可在线阅读,更多相关《phpcms中文标签.docx(11页珍藏版)》请在冰豆网上搜索。
phpcms中文标签
中文标签
PHPCMS2007改变了3.0不易理解的长标签调用方式,采用中文方式封装长标签,降低了模板的制作门槛。
现在只需要在后台进行简单的设置就可以生成一个中文标签。
在模板制作过程中,甚至不需要先设置中文标签,只需要在模板中按现有规则插入中文标签,例如{tag_最新文章},
等模板全部制作完毕后,再根据已有的命名在后台设置中文标签,更新网站即可。
在模板目录中,以tag_开头的即为标签模板,同一类别的不同模板用中划线-表示,例如tag_article_list.html和
tag_article_list-1.html均为文章列表的标签模板。
在后台添加中文标签时可以选择不同的模板来个性化你的网站。
备注:
如果您习惯3.0式的长标签调用,可以参考模板目录tags_config.php文件里和函数及其参数,一个标签实际上就是一个函数调用,phpcms模板里是可以直接插入函数的。
新建标签
新增一个类型的调用,我们需要新增加一个标签列表,我们不能修改以前的标签,如果修改以前的标签,那么使用这个标签的页面也会随之改变。
文章列表标签
幻灯片文章标签
我们通过上面的导航可以选择要添加的标签的类型
栏目标签
我们可以通过预览来查看我们设置的效果
通过这里可以修改选中的模版
最好我们通过会产生一个只有的标签
我们将{tag_文章1}复制到我们的模版中,更新相关页面生成静态--即可显示结果。
修改标签
我们进入标签管理--找到需要修改的标签,如果是栏目标签,或者其他标签,我们通过导航来进入相应的标签管理列表
修改标签会直接影响到已经应用于此标签的模版页面。
所以通过修改标签可以轻松的完成页面的显示效果,比如标题长度,是否显示点击次数等等
标签应用
网页美工设计者往往要在前台模板中输出变量或一段程序,但是他们对这些程序是不懂的,所以要将这些程序简化成像写HTML标记一样,这样他们就容易写了。
而这些简化的标记被成为标签。
这些标签在执行是时候还会被提取出来重新还原成程序被执行。
下面举几个例子说明:
现在看这段代码在前台被编译后的样子:
这写标签不是随便乱写的,只有后台提供是那写才可以插到前台里面。
提供这些标签的地方在每个频道里面。
就以文章频道为例,打还网站后台,在后台首页的导航栏中选择“网站频道”,如图:
加载完成后,在页面的左框架中选择“文章”点击。
在加载后的页面的左框架中选择“高级管理”中的“标签调用管理”点击。
如图:
在新加载的页面截图如下:
在这个页面定义的标签都可以使用。
在举些在前台模板中插标签的例子,如图:
此段代码经过编译之后在前台显示的内容为:
像这些里面有中文的标签叫作中文标签,一般的中文标签都是用{tag_中文名}的形式。
还有一些标签里面只有英文,比如“{$cat[catname]}”这个标签的作用就是输出数组cat里catname的值。
这是前台模版里典型输出变量的标签,格式是{变量}。
下面的截图中大量的使用了标签:
这个页面里使用了像{if$subheading}
--{$subheading}
{/if}这是一个判断标签,当{if$subheading}里的变量$subheading被赋值且值不为0、空时就回显示{if}与{/if}之间的值,即--{$subheading}在浏览器上被显示出来。
在浏览器上被显示出来。
这个是条件判断标签。
还有一种是循环标签,见图:
style="BORDER-BOTTOM:
#9991pxsolid;BORDER-LEFT:
#9991pxsolid;WIDTH:
928px;BACKGROUND:
white;BORDER-TOP:
#9991pxsolid;BORDER-RIGHT:
#9991pxsolid"{loop$a$b}*{/loop}或者{loop$a$b$c}*{/loop},{loop$a$b}*{/loop}
被解析成
if(is_array($a))foreach($aAS
$b){?
>*
}?
>,而{loop$a$b$c}*
{/loop}则被解析成
if(is_array($a))foreach($aAS$b=>$c){>*<}>
注意if和loop语法应该写在html注释符之间,这样可以避免在编辑工具中难看,例如:
这样写if
--{if$a>$b}-->
--{else}-->
--{/if}-->
这样写loop
--{loop$arr$key$val}-->
--{/loop}-->
判断标签和循环标签都是前台模版中最常用的标签。
跨站JS调用
我们要跨站调用列表的话,我们新增加的标签就不能带有任何的变量,如果带有变量,将会产出下面的结果
没有任何变量访客通过调用下面的代码进行调用
取自"
2个分类:
CMS使用|PHPCMS内容管理系统
================================================
问题1:
怎么让文章按电极率排序
问题2SELECTa.contentid,a.catid这样的代码跟`contentid`,`hits_month`这样的代码有什么区别
本帖最后由misssky于2009-10-2818:
53编辑
用GET语句
语句如下{getsql="SELECT*FROM`phpcms_content`a,`phpcms_content_count`bWHEREa.contentid=b.contentidANDstatus=99ORDERBYb.hitsDESC"rows="调用个数"}
复制代码
这个是总排行
你也可以把红色部分换成b.hits_day这个是当天换成b.hits_week是周,hits_month是月
PHPCMS中GET标签调用文章列表隔行背景换色效果实现方法
CMS通提示:
本文CMS通站长站介绍了如何在PHPCMS中实现GET标签调用的文章列表隔行背景换色或偶数行不同CSS样式
对于文章列表,如果需要实现隔行背景换色,除了可以通过JS来给偶数行添加不行CSS属性来实现为,也可以通过在循环输出内容时直接给偶数行加上不同CSS。
PHPCMS中GET标签调用文章时,如果需要实现隔行换色,则只需要在
#FFFFCC"{/if}即可,整体代码如下:
XML/HTML代码
{getsql="SELECT`title`,`url`,`updatetime`FROM`phpcms_content`WHERE`status`=99ORDERBY`contentid`DESC"rows="10"}
#FFFFCC"{/if}>
{/get}
演示:
TAG标签调用文章列表中实现隔行换色实现方法和GET标签上代码类似。
---------------------------------------------------------------------------------
PHPCMS文章列表以标题和摘要形式显示的修改
PHPCMS文章列表页(对应list.html模板)默认是只显示20条最新文章的标题的及链接的,这样稍显单调,默迹通常的做法是将最终文章列表页修改成标题+摘要的形式显示,这样从SEO和用户体验角度考虑可能好些,同时也使这个页面右侧边栏长些,可多放一些调用或AD啥的。
效果预览:
修改方法:
1.下载tag_content_list.html,将内容用如下代码替换:
XML/HTML代码
#FF0000;"{/if}>{date('Y-m-d',$r[updatetime])}
{if$showcatname}
[{$CATEGORY[$r[catid]][catname]}]{/if} {str_cut($r[title],$titlelen)} - {$r[description]}
[ 阅读全文]
{loop$data$n$r}
{/loop}
{if$pages}
(当然,重新建一个模板,如tag_content_list_zy.html,粘贴上代码后上传,再修改列表页标签对应的模板为该模板也行,注意更新模板缓存)
2.查看{tag_二级栏目标题列表}标签(标签管理处点击编辑)确保该标签有勾选读取摘要字段,如下图:
3.在phcms.css样式文件最后添加如下CSS代码,以调整标题+摘要列表布局:
CSS代码
#zy_listdl{
line-height:
150%;
margin:
10px;
}
#zy_listdldta{
font-family:
Verdana,Arial,Helvetica,sans-serif;
font-size:
14px;
}
#zy_listdldd{
border-bottom:
1pxdashed#E1E1E1;
margin-bottom:
5px;
padding:
5px;
text-indent:
2em;
}
当然,如果觉得CMS通站长站的布局CSS不太适合里时,可自行调整。
补充:
当然站长朋友们也可以新建一个tag_content_list_zy.html标签模板,放上面的代码,然后复制{tag_二级栏目标题列表}这个标签另建标签如{tag_二级栏目标题列表含文章摘要},选择刚建立的tag_content_list_zy.html,然后复制list.html新建一个列表页如list_zy.html,然后把其中的{tag_二级栏目标题列表}标签换成新建的{tag_二级栏目标题列表含文章摘要},几个模板都上传到templates/default/phpcms模板目录下后,更新缓存,然后再给需要实现标题摘要列表的栏目设置列表页模板为list_zy.html,这样做的好处时可以尽量少影响其它不需要这样做的部分。
phpcms标签缓存的作用和常见标签的报错处理方法
标签缓存
在以phpcms内容模型标签为例:
存在于模板目录templates/default/phpcms/tag_config.inc.php。
手动修改的话,需要在后台更新缓存。
其中phpcms为内容模型的目录,假如你要修改问吧模块,那么则是templates/default/ask/tag_config.inc.php
下面是一个中文标签的例子
php
returnarray(
'标签内容列表'=>
array(
'introduce'=>'',
'mode'=>'1',
'sql'=>'select*from`phpcms_content`a,`phpcms_content_tag`kwherea.contentid=k.contentidanda.status=99andk.tag=\'$tag\'orderbya.contentiddesc',
'selectfields'=>
array(
0=>'contentid',
1=>'catid',
2=>'typeid',
3=>'areaid',
4=>'title',
5=>'style',
6=>'thumb',
7=>'keywords',
8=>'description',
9=>'userid',
10=>'updatetime',
11=>'islink',
12=>'inputtime',
13=>'url',
),
'orderby'=>'contentidDESC',
'page'=>'$page',
'number'=>'20',
'template'=>'tag_content',
'var_description'=>
array(
1=>'链接样式',
2=>'打开窗口',
3=>'标题长度',
),
'var_name'=>
array(
1=>'class',
2=>'target',
3=>'titlelen',
),
'var_value'=>
array(
1=>'url',
2=>'_blank',
3=>'80',
),
'type'=>'content',
'modelid'=>'1',
'tagcode'=>'tag(\'phpcms\',\'tag_content\',"select*from`phpcms_content`a,`phpcms_content_tag`kwherea.contentid=k.contentidanda.status=99andk.tag=\'$tag\'orderbya.contentiddesc",$page,20,array(\'class\'=>\'url\',\'target\'=>\'_blank\',\'titlelen\'=>\'80\',))',
),
当在模板中出现SQL语句报错,那么就是这里的SQL出现的问题。
常见的是Tabledoesnotexists
那么就需要替换当前文件的标签文件了。
我们只要将表前缀phpcms_替换为自己的前缀即可。
而前缀可以在include/config.inc.php中找到
======================================================================
phpcms标签模板及专题模板的制作
1.标签模板的制作
前面我们已经讲到了每个频道模板的制作,但是我们只是插入对应的标签代码,如何做到显示的效果能个性化,满足自己的要求呢?
,那么我们就要对自己的标签模板做个性化的设计
所有以tag_开头的模板
都是标签模板
以文章频道的模板为例
我们会看到
tag_articlelist.html文章列表标签模板
tag_picarticle.html图片文章标签模板
剩下的两个我们一般做模板的时候,如果自己对于js代码不是很理解的话,我们一般不会去动它,
打开文章列表标签模板
CODE:
[Copytoclipboard]
{loop$articles$i$article}
{if$i%$cols==0}
{$article[img]}{if$showcatname}{$article[catname]}{/if}
{if$showhits}({$article[hits]}){/if}
{if$showauthor}[作者:
{$article[author]}]{/if}
{if$article[showcommentlink]} item=articleid&itemid={$article[articleid]}"target="_blank"> {if$datetype}[ {if$descriptionlen} {if$i%$cols==($cols-1)}
{/loop}
{if$pages}
{/if}这个里面
{loop$articles$i$article}是一个循环,我们要关注的就是这个循环里面的内容
{if$i%$cols==0}
{$article[img]}文章的图片,显示精华,置顶,还是普通文章
{if$showcatname}{$article[catname]}{/if}所属栏目
{$article[url]}文章路径
{$article[title]}文章标题
{if$showhits}({$article[hits]}){/if}点击数
{if$showauthor}[作者:
{$article[author]}]{/if}作者
{if$article[showcommentlink]} item=articleid&itemid={$article[articleid]}"target="_blank"> {if$datetype}[ {if$descriptionlen} 如果我们要实现时间的靠右对齐,那么我们可以把这个模板改成 CODE: [Copytoclipboard] {loop$articles$i$article} {if$i%$cols==0} {$article[img]}{if$showcatname}{$article[catname]}{/if} {if$showhits}({$article[hits]}){/if} {if$showauthor}[作者: {$article[author]}]{/if} {if$article[showcommentlink]} item=articleid&itemid={$article[articleid]}"target="_blank"> {if$descriptionlen} {if$i%$cols==($cols-1)}{/if} {/if}{if$datetype}[
{/loop}
{if$pages}
{/if}或者设置css里面tag_date的属性为float:
right
图片文章页面的标签模板也是如此,我们需要做的,基本上就是css的变化来控制效果,这就需要大家对于css有一个比较浅显的掌握,具体可以参考css手册,网上到处都是,指的说明的一点,css的简写仅仅支持IE,FF和opera尚不能全部支持!
2.专题模板的制作
专题页面的制作主要设计的页面有
special.html专题首页
special_list.html专题列表页
special_show.html专题内容页
tag_speciallist.html专题标签页
专题是相同类型的文章组成的一个合集,大家可以把他看做一个栏目,只不过这个栏目比较特殊,它属于一个频道多个栏目下相同主题的文章合集,他的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- phpcms 中文 标签
copyright@ 2008-2022 冰点文档网站版权所有
经营许可证编号:鄂ICP备2022015515号-1