{if $category eq “2″}:这个表示当前栏目ID等于2时,注意2是有双引号包围的哦。这个可以放在栏目模板页,用来判断栏目ID。
{if $goods.cat_id eq “2″}:这个表示当前产品属于栏目ID2时。可以放在产品模板页,用来判断产品的栏目ID。
{if $goods.goods_id eq “2″}:这个表示当前产品属于ID2时。可以放在产品模板页,用来判断产品的ID。
{$keywords} 输出模板变量
{$array.test.abc} 输出二维数组
{$lang.remark_package} 语言包$lang[remark_package]
{insert_scripts files='common.js'} 引入js文件
xxxx 循环
xxxx 判断
引入goods_tags.lbi库文件,相当于PHP的include
{*内容*} html注释,只在模板上显示,页面上会被删除掉.
switch (strtolower($token))
{
case 'eq':
$token = '==';
break;
case 'ne':
case 'neq':
$token = '!=';
break;
case 'lt':
$token = '<';
break;
case 'le':
case 'lte':
$token = '<=';
break;
case 'gt':
$token = '>';
break;
case 'ge':
case 'gte':
$token = '>=';
break;
case 'and':
$token = '&&';
break;
case 'or':
$token = '||';
break;
case 'not':
$token = '!';
break;
case 'mod':
$token = '%';
break;
default:
if ($token[0] == '$')
{
$token = $this->get_val(substr($token, 1));
}
break;
很多时候我们会使用到ecshop的foreach标签去循环显示商品,那么问题是我们一般使用php的循环时都有一个变量来控制次数和取得每次循环的索引,比如那个i,使用foreach时如何取到呢,很简朴,我们给它定义一个名字就行了,如下例所示。
<!-- {foreach name=top_goods from=$top_goods item=goods}-->
<div class="topgoodslist">
<!-- {if $smarty.foreach.top_goods.iteration==1}-->
<a href="/{$goods.url}" class="topsale1" title="{$goods.name|escape:html}"><img src="/{$goods.goods_img}" alt="{$goods.name|escape:html}"/></a>
<!--{/if}-->
<!--{/foreach}-->
这里 $smarty.foreach.top_goods.iteration 就是取得索引的方法。
标题字符串的截取基本上时所有网站建设都会遇到的问题,每个系统都有不同的方法。总的来说一般有两种方法,在服务端截取和客户端截取。ecshop也是这两种方式,下面来说下:
服务端截取字符串
这个是写在Php里的,就是在读取标题字段的时候进行截取,一般你可以自己写截取多少个,也可以使用系统设置的。截取的函数是substr。像article里的short_title和goods里的short_title都是这样来的。
客户端截取
这个需要使用smarty的标签:truncate,比如:{$article.title|truncate:30}表示截取标题前30个字符。