Archive for the ‘帝国CMS模板’ Category

esetcookie() getcvar() -帝国CMS cookie 操作函数

Saturday, August 28th, 2010

esetcookie()

函数:esetcookie()
功能:设置cookie / 函数向客户端发送一个 HTTP cookie 主要带了帝国CMS前后台cookie前缀 path 等用起来方便
位置:帝国CMS e/class/connect.php
版本:6.5

esetcookie($var,$val,$life=0,$ecms=0)

$var : 必填 cookie名
$val : 必填 cookie值
$life : 选填 过期unix时间戳
$ecms : 选填 0 前台 1 后台 默认0

getcvar()

函数:getcvar()
功能:返回cookie / 配合esetcookie()使用 事半功倍
位置:帝国CMS e/class/connect.php
版本:6.5

getcvar($var,$ecms=0)

$var : 必填 cookie名
$ecms : 选填 0 前台 1 后台 默认0

(more…)

Tags: , , ,

ReplaceSvars() 帝国CMS函数

Tuesday, August 24th, 2010

函数:ReplaceSvars()
功能:替换公共标记
位置:帝国CMS e/class/connect.php

修改例子一:增加网站名称标签

1.函数体return $temp;上方加入代码如下

//增加网站名称标签
$temp=str_replace('[!--sitename--]',$public_r['sitename'],$temp);

2.[!--sitename--]标签加入模板测试 可以显示网站名称

讨论:

0.只针对部分模板有用 比如首页模板 ,对列表模板 内容模板 是其他函数作用:

列表:e/class/functions.php Class_ReplaceSvars()
内容:e/class/functions.php nfo_ReplaceSvars()
搜索:e/class/functions.php nfo_ReplaceStemp()

1.例子本身没有什么意义,在模板中我们完全可以使用<?=$public_r[sitename]?>来表示网站名称
2.模板内多处使用网站地址使用[!--news.url--]要比使用<?=$public_r[newsurl]?>效率稍高

(more…)

Tags:

ReplaceListVars() 帝国CMS函数

Tuesday, August 24th, 2010

函数:ReplaceListVars()
功能:替换列表模板/标签模板/搜索模板
位置:帝国CMS e/class/connect.php

例子一:最新信息图标

例子二:N分钟前信息 个性时间显示

(more…)

Tags:

帝国CMS模板不为人知的技巧2 – 对系统设置的重新赋值

Monday, July 26th, 2010

引言:继续上一篇:帝国 CMS模板不为人知的技巧 – 对语言包重新赋值应用trylife和大家一起看看 帝国CMS不为人知的技巧2 – 对系统设置的重新赋值;上篇文章有童鞋看了之后觉得一无所获;或者觉得看了之后没什么价值;trylife写这些文章只是指引月亮的方向,各位童鞋不要在意trylife手指本身;我们做帝国CMS二次开发尽量不修改系统文件的情况下实现功能,这样可以达到不影响升级这样的效果;废话不多说我们来看正文。

一 查看模板中的全局变量

我们在模板任意位置放入代码<?=$GLOBALS?>,比如列表模板,重新生成列表页面;查看页面源代码,我们可以看到变量和数组的整齐格式;我们可以看到 $public_r(系统设置数组),$class_r(栏目设置数组),$emod_r(模型设置数组),$fun_r(函数语言数组),$level_r(会员组数组)等等;还记得上一篇(帝国 CMS模板不为人知的技巧 – 对语言包重新赋值应用)中的例子就是通过对$fun_r中的一个成员重新赋值实现了英文列表分页;

什么是数组:你可以回想下 周星驰的《唐伯虎点秋香》唐伯虎混入画府当低等下人,当时武状元说“小子,从今天开始,你就是华府的低等下人,9527就是你的终身代号。开始做事!”这里的低等下人就是一个数组,其中9527就是数组一个成员KEY值,唐伯虎这个人就是就是9527这个KEY的VALUE值;我们把低等下人这个数组变成PHP数组:

回到帝国CMS,打开e/class/config.php 搜$public_r 这里的$pulic_r就是一个数组(暂时不讨论多元数组),看到上下图是部分$public_r的截图,sitename,newsurl都是key;对应的帝国网站管理系统,http://www.trylife.cn 这些是VALUE值;你可以在任意模板中加入<?=$public_r[KEY值]?>重新生成页面可以得到相对应的VALUE值,比如<?=$public_r[sitename]?>得到你系统设置的网站名称;

二 对系统设置的重新赋值能干点啥

实例:我们知道帝国CMS所有分页函数遵循统一遵循系统设置中的分页函数,那么我想某个列表使用不同分页函数呢,trylife的答案是可以的;
下面trylife就做了一个比较无聊的例子实现某个列表使用不同的分页函数(为了区分这个列表的数字做成了中文数字冏);
1.这个特殊的列表用的分页变量是[!--show.listpage--]
2.对应的这个分页变量在$public_r数组中KEY值为listpagelistfun
3.在e/user/userfun.php加了一个新的分页函数 trylife_listpage() 点击下载测试函数userfun_function_listpage.php.tar
4.在这个列表模板的顶部加入了一段代码<?php $public_r[listpagelistfun]=’trylife_listpage’;?>

(备注:帝国CMS后台->系统参数设置->信息设置->列表分页函数(列表) 模式设置是 sys_ShowListMorePage,我们现在针对某个特定的列表要使用不同的分页函数,所以我们在userfun.php写了一个新的函数,并且将函数名赋值给了$public_r[listpagelistfun];这样使用我们修改的模板的栏目,将会使用我们给他设置的特定的分页函数,也就是trylife_listpage这个函数;)

(上图)帝国CMS特定列表不同分页样式 效果

三 小结

1.列表分页函数(下拉) ,内容分页函数都可以用例子中的方法来做不同模板的不同分页
2.几个分页

分页函数名 数组变量[KEY] 默认函数名 变量
列表分页函数(下拉) $public_r[listpagefun] sys_ShowListPage [!--show.page--]
列表分页函数(列表) $public_r[listpagelistfun] sys_ShowListMorePage [!--show.listpage--]
内容分页函数 $public_r[textpagefun] sys_ShowTextPage
sys_ShowTextPageSelect
[!--page.url--]
[!--title.select--]

四 其他

除了分页这块,还有很多其他的方面可以赋值,你想到了什么呢?欢迎评论讨论

转载写明出处 原文地址:http://www.trylife.cn/ecms-unkonwn-template-skill-2/

Tags: , ,

帝国CMS模板不为人知的技巧 – 对语言包重新赋值应用

Friday, July 9th, 2010

引言:在PHP里只有常量不能重新赋值,比如在ECMS定义安装位置的ECMS_PATH;帝国CMS程序上在对模板中变量赋值,函数/标签赋值之前通常先引用了这些必要的参数;也就是说我们可以通过在模板中重新对其进行赋值得到我们想要的新内容,从而不在二次开发的情况下得到在模板中的效果;下面用一个实例和trylife一起体验下对程序语言包的重新赋值效果;

帝国CMS函数语言包e/data/language/gb/pub/fun.php

实例一:将指定列表分页更改为英文

操作步骤:

1.打开语言包e/data/language/gb/pub/fun.php
2.找到相关的分页成员,就是$fun_r的有关分页的KEY值
3.trylife模板中用的分页变量是[!--show.listpage--]帝国默认的安装啥都没改过
4.重新赋值,并加到指定列表模板的顶部,trylife做的代码点击后边链接:ecms-template-language-evaluation
5.将4中代码粘贴到列表模板顶部
6.赶紧测试下吧^^
7.同样此方法可以 给位置导航:[!--newsnav--] 内容页的分页:[!--page.url--]等赋值

将指定帝国CMS列表分页更改为英文效果图

将有更多帝国CMS模板不为人知的技巧,敬请关注trylife博客:http://www.trylife.cn
原文地址 转载注明出处:http://www.trylife.cn/ecms-template-language-evaluation
关注帝国CMS二次开发 及其使用技巧:http://www.trylife.cn/

Tags: , , ,