main.php是全局的运行 的东西 里面的代码 打开每个页面都会运行里面的代码 在里面可以用TEMPLATE::assign给模板定义模板变量
使用场景
例如 需要在导航栏显示下拉的分类 因为默认只能产品列表页面 才能使用分类的变量因此就要给从数据库中取出分类 给模板定义 main.php 里面写 D()->select('产品分类', '*', "隐藏<>1 ORDER BY 顺序 DESC");//执行数据库 获取产品分类语句 $farray=array(); while ($hehe = D()->fetch_assoc()) {//取出分类内容 $hehe['选中']=""; if(mac_url_get(1)==$hehe['id'])//判断当前选中的分类是不是这个分类 $hehe['选中']="1";//如果分类相符 这个分类就定义为选中状态 $farray[]=$hehe;//给变量定义内容 组成完整的分类数组 } TEMPLATE::assign('farray',$farray);//定义分类变量 然后 这样子 所有页面的模板都可以使用 例如: {foreach from=$farray item=fs} {if $fs['分类名称']!=''}<li><a href="{$ROOT}/buy/index/{$fs['id']}/">{$fs['分类名称']}</a></li>{/if} {/foreach}
非main.php的就是对应页面运行的内容 例如:你只要在用户中心 也就是 /index.php/user/index/ 里面显示公告 其他页面就不需要显示了 那就再 user.php 里面写获取公告的代码 并定义模板变量就行了
以下是lib里面的文件名对应会运行的地方的说明
* announcement.php-> 公告内容页面的时候会运行 * announcements.php-> 公告列表页面的时候会运行 * buy.php-> 产品列表页面的时候会运行 * cart.php-> 购物车页面的时候会运行 * cpanel.php-> 已购产品服务列表页面的时候会运行 * detail.php-> 产品服务详情页面的时候会运行 * detailedticket.php-> 服务单(工单)详情页面的时候会运行 * help.php-> 帮助中心页面的时候会运行 * index.php-> 首页页面的时候会运行 * info.php-> 用户中心页面的时候会运行 * login.php-> 登陆页面的时候会运行 * networkissues.php-> 网络故障 页面的时候会运行 * package.php-> 升级/降级产品 页面的时候会运行 * password.php-> 修改密码 页面的时候会运行 * pay.php-> 账户充值 页面的时候会运行 * register.php-> 注册用户 页面的时候会运行 * serverstatus.php-> 服务器状态 页面的时候会运行 * submitticket.php-> 提交服务单(工单) 页面的时候会运行 * supporttickets.php-> 查看服务单(工单)页面的时候会运行 * user.php-> 用户中心页面的时候会运行 * main.php-> 全局运行