# Zencart首页与产品页各个页面显示单栏双栏三栏的

**URL:** <https://www.isharkfly.com/t/zencart/3835>\
**Category:** PHP\
**Created:** [August 6, 2012, 3:05am UTC](https://www.isharkfly.com/t/zencart/3835 "2012-08-06T03:05:10Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![honeymoose](https://www.isharkfly.com/user_avatar/www.isharkfly.com/honeymoose/32/20796_2.png) [@honeymoose](https://www.isharkfly.com/u/honeymoose)\
**Post date:** [August 6, 2012, 3:05am UTC](https://www.isharkfly.com/t/zencart/3835/1 "2012-08-06T03:05:10Z")

</div>

一. zencart如何实现首页是3栏而内页是2栏？  
Zen Cart每个页面的栏目都是可以单独控制的。  
将右栏目在全站范围打开，然后，对只要显示两个栏目的页面单独进行设置。比如，要将商品信息页面设置为两栏：

1. 在你的模板目录下，为商品信息页面建立一个新目录:  
includestemplates你的模板名product\_info  
提示：目录名请参考includesmodulespages

2. 复制文件includestemplatestemplate\_defaultcommontpl\_main\_page.php 到该目录中

3. 修改复制的文件，将注释 ‘//’ 去掉  
// $flag\_disable\_right = true;  
通过上面的方法，就可以将商店设置成… 隐私声明页面有三栏，商品信息页面只有两栏，而所有商品页面有三栏，购物车页面有两栏，而结帐页面又有三栏…等等。

二. 关于页面布局中三栏布局两栏布局的判断代码  
打开tpl\_main\_page.php编辑：  
例子：  
原程序例子：  
//如果COLUMN\_LEFT\_STATUS 等于 0 或 CUSTOMERS\_APPROVAL 等于1 与 客户IP是空 就把 flag\_disable\_left 设成 true[code][code]if (COLUMN\_LEFT\_STATUS == 0 or (CUSTOMERS\_APPROVAL == '1' and \_SESSION[‘customer\_id’] == ‘’)) {  
// global disable of column\_left  
$flag\_disable\_left = true;  
} [/code]参照例子：  
// 如果页面是page\_2页 就把$flag\_disable\_left 设成 true  
//打开page\_2页时关闭左栏`if ($_GET['main_page'] == 'page_2') {  
$flag_disable_left = true;  
} `// 如果页面是product\_info页 就把$flag\_disable\_right 设成 true  
//打开产品信息页时关闭右栏`if ($_GET['main_page'] == 'product_info') {  
$flag_disable_right = true;  
} `依次类推 很简单就可以实现随意栏目的设置了  
三. 把首页和其他页面完全分开  
includestemplates你的模板的目录commontpl\_main\_page.php  
就这个文件，加上下面这句就可以实现首页单栏了。想法，你想实现其他页面单栏双栏三栏的办法，还是参照上面几个帖子吧。  
代码:`if ($this_is_home_page) { 
$flag_disable_right = true;    
$flag_disable_left = true; 
} `看这个代码，可以举一反三

1.多一个反义符 “!” ,代表不是首页都显示单栏  
代码:`if (!$this_is_home_page) { 
$flag_disable_right = true;    
$flag_disable_left = true; 
} `2.下面就代表非首页的页面都是不显示右边栏的。  
代码:`if (!$this_is_home_page) { 
$flag_disable_right = false;    
$flag_disable_left = true; 
} `3.剩下的依次类推吧!
