一、商品不同类别调用不同模版
ecshop实现不同商品分类调用不同模板功能,下面是一个简单笨拙的方法:
1、修改category.php
在45行以下添加如下代码
[code]
$dwt = ‘category’.$cat_id.’.dwt’;
[/code]
2、大概在396行,修改
[code]$smarty->display(‘category.dwt’, $cache_id);[/code]
为
[code]$smarty->display($dwt, $cache_id);[/code]
在模版目录对应分类id建立模版文件 例如category1.dwt
二、文章不同类别调用不同模版
1、修改category.php
在48行,/* 获得当前页码 */这个代码的上一行,添加如下代码
[code]$dwt = ‘article_cat’.$cat_id.’.dwt’;[/code]
2、大概在134行,修改
[code]*$smarty->display(‘article_cat.dwt’, $cache_id);[/code]
为
[code]
$smarty->display($dwt, $cache_id);[/code]
在模版目录对应分类id建立模版文件 例如article_cat4.dwt
注意,每个分类要建立一个模版,不建立打开空白页。
三、文章不同类别调用不同模版方法二
[code]
switch ($cat_id)
{
case 4:
$smarty->display(‘article_cat4.dwt’, $cache_id);
break;
case 5:
$smarty->display(‘article_cat5.dwt’, $cache_id);
break;
case 6:
$smarty->display(‘article_cat6.dwt’, $cache_id);
break;
case 7:
$smarty->display(‘article_cat7.dwt’, $cache_id);
break;
case 8:
$smarty->display(‘article_cat8.dwt’, $cache_id);
break;
case 9:
$smarty->display(‘article_cat9.dwt’, $cache_id);
break;
}
[/code]
四、后台可以选择哪个模版方法
要增一些功能,除了找论坛里,或者找人帮忙,还有一种就是自己学习如何解决,因为不懂PHP语言,所以只能生搬硬套的方式来修改。
在高手看来,这是很笨的方法,但是在不懂PHP语言的情况下,只能如此,希望能给那些跟我一样的新手有所帮助。同理,用类似的方法还可以增加很多新的功能,比如,在商品详情页增加视频,下载区域等
目的:不同的分类调用不同的模版,如果没有就调用默认的模版
方法:模仿分类样式,COPY一个分类模版
注意:红色部分是新增加的,黑色部分,是让你找到位置,知道在哪里增加
1,在分类表ecs_category里增加一个字段,style_moban,属性就与style相同吧,
或者执行以下SQL语句
[code]
alter table `ecs_category` add style_moban varchar(255) NOT NULL DEFAULT ”;
[/code]
2,修改admin\templates\category_info.htm
[code]
<tr>
<td><a href="javascript:showNotice(‘noticeGoodsSN’);" title="{$lang.form_notice}"><img src="images/notice.gif" width="16" height="16" border="0" alt="{$lang.notice_style}"></a>{$lang.cat_style}:</td>
<td>
<input type="text" name="style" value="{$cat_info.style|escape}" size="40" /> <br />
<span {if $help_open}style="display:block" {else} style="display:none" {/if} id="noticeGoodsSN">{$lang.notice_style}</span>
</td>
</tr>
<span style="color: #ff0000;"> <tr>
<td><a href="javascript:showNotice(‘noticeGoodsSN’);" title="{$lang.form_notice}"><img src="images/notice.gif" width="16" height="16" border="0" alt="{$lang.notice_style}"></a>{$lang.cat_style_moban}:</td>
<td>
<input type="text" name="style_moban" value="{$cat_info.style_moban|escape}" size="40" /> <br />
<span {if $help_open}style="display:block" {else} style="display:none" {/if} id="noticeGoodsSN">{$lang.notice_style_moban}</span>
</td>
</tr></span>
[/code]
2.修改admin\category.php
第一处:
[code]
$cat[‘style’] = !empty($_POST[‘style’]) ? trim($_POST[‘style’]) : ”;
<span style="color: #ff0000;"> $cat[‘style_moban’] = !empty($_POST[‘style_moban’]) ? trim($_POST[‘style_moban’]) : ”; </span>
[/code]
第二处:
[code]
$cat[‘style’] = !empty($_POST[‘style’]) ? trim($_POST[‘style’]) : ”;
<span style="color: #ff0000;"> $cat[‘style_moban’] = !empty($_POST[‘style_moban’]) ? trim($_POST[‘style_moban’]) : ”;</span>
[/code]
3.修改语言库
languages\zh_cn\admin\category.php
第一处:
[code]
$_LANG[‘cat_style’] = ‘分类的样式表文件’;
<span style="color: #ff0000;">$_LANG[‘cat_style_moban’] = ‘分类的模版文件’;</span>
[/code]
第二处:
[code]
$_LANG[‘notice_style’] = ‘您可以为每一个商品分类指定一个样式表文件。例如文件存放在 themes 目录下则输入:themes/style.css’;
<span style="color: #ff0000;">$_LANG[‘notice_style_moban’] = ‘您可以为每一个商品分类指定一个模版文件。例如文件存放在 themes 目录下则输入:themes/category.dwt’;</span>
[/code]
到这里,在后台就可以输入分类模版了,
接下来,是如何调用
4.修改根目录下的:category.php
找到行,$smarty->display(‘category.dwt’, $cache_id);
(注意应该是第二处(2.71就只有一处),本文件 有两处,我的文件修改过了,所以也不懂是第几行,300-400之间的那一处)
替换成:
[code]
<span style="color: #ff0000;">//获取自定义分类增加的信息
$cat_id = intval($_REQUEST[‘id’]);
$sql = "SELECT * FROM " .$GLOBALS[‘ecs’]->table(‘category’). " WHERE cat_id=’$cat_id’ LIMIT 1";
$cat_info = $GLOBALS[‘db’]->getRow($sql);
</span><span style="color: #ff0000;">/*———————–新增加的自定议分类模版—————————– */
</span><span style="color: #ff0000;">$template_cat = $cat_info[‘style_moban’];
if($template_cat !=”)
{
$smarty->display($template_cat, $cache_id);
}
else
{
$smarty->display(‘category.dwt’, $cache_id);
}</span>
<span style="color: #ff0000;">[/code]
5.自己制作一份新的模版,在后台输入到需要自义的分类里就可以。
终上所述,第一种方法最简单,适合不懂PHP代码的人。
评论前必须登录!
注册