欢迎光临
我们一直在努力

ecshop 文章和商品不同类别调用不同模版的三种方法

一、商品不同类别调用不同模版

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代码的人。

赞(0) 打赏
未经允许不得转载:刘旭的人个博客 » ecshop 文章和商品不同类别调用不同模版的三种方法
分享到: 更多 (0)
标签:

评论 抢沙发

评论前必须登录!

 

QQ :13945502电话:13913571631

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏

×
订阅图标按钮