一、前台页面的显示 1、首先将前台的资源文件粘贴到wwwroot文件夹下的Public文件夹下,然后修改控制器indexcontroller.class.php文件,实现加载前台模板文件。然后将前台index文件复制粘贴到Application/Home/View/Index文件夹下。然后在配置文件config.php中添加自定义的模板配置,增加一个用来存储路径的常量__PUBLIC_HOME_。然后在前台模板文件中将所有路径替换成带有常量的路径。直接访问项目的首页查看效果。 2、前台首页显示完成后,发现前台的页面头部和尾部的样式始终不变,所以可以将代码提取出来,并在其他页面中加载进头部和尾部的文件。在首页中剪切出头部部分的代码,然后在Public文件夹下创建header.html文件并将头部代码粘贴进去,尾部同理,创建footer.html文件将尾部代码粘贴进来,然后在模板文件中使用include标签将两部分代码加载进来。然后再次进入首页查看效果。 3、创建公共控制器CommonController.class.php,继承至Controller。然后修改之前对的IndexController.class.php中的继承关系。 4、在公共控制器中使用构造方法来获取分类的信息,要注意子类的构造方法会重写父类的构造方法,所以应该在子类的构造方法中手动调用父类的方法。在获取数据之后要修改前台模板文件,在模板文件中使用volist标签来循环获取最顶级的分类,然后其中套用几层volist标签来显示下面的几级分类信息。进入首页查看效果。 5、分类的列表页显示,创建控制器CategoryController.class.php文件,脚本中添加同名类名,添加index方法来加载模板文件。 6、将显示列表的模板文件复制粘贴为index.html文件,然后修改其中的资源连接的地址,地址前加__UBLIC__HOME__来设置路径。然后删除页头页尾,并将公共代码通过include加载进来。 7、首先在首页控制器中调用方法来获取热卖商品的信息,查询条件为数据表字段信息is_hot的值为1。然后在模型中添加方法来实现数据的获取,由于首页页面可以显示的商品个数有限,所以在查询时应该设置限制条件,limit为5。然后在模板文件中使用volist标签来循环遍历出数据。 8、推荐商品与热卖同理,在控制器中调用方法来获取推荐商品的信息,然后在模型中添加方法来实现数据的获取,同样也只需要获取5条数据。查询字段为is_rec。新品商品都相同,查询字段为is_new。将查询出来的数据使用volist标签在模板中循环遍历出来。同时增加css样式 overflow:hidden来解决标题的重叠问题. 9、商品详情页显示,在Home/Controller下创建控制器,名为GoodsController.class.php,在控制器中增加同名类,类中添加显示模板文件的方法,然后将相应的模板文件复制粘贴到Home/View/Goods文件夹下并修改名字为index.html。修改模板文件内的资源地址为__PUBLIC_HOME__,然后加载进页头和页尾代码。 10、根据ID获取商品的基本信息,在index控制器中通过I函数中的get方法获取要要显示的商品ID,并进行判断,接收的ID不正确或者商品处于下架状态将报错并返回首页。接收数据后通过assign和display方法渲染模本文件,修改模板中的测试数据,将其改为相应的变量名。在渲染模板之前,实现显示商品描述信息,修改控制器中的方法,获取数据并将描述信息格式化。然后在模板添加相应的变量,来显示商品的描述信息。 11、实现商品详情页的相册显示,首先在控制器获取商品对应的图片信息,然后在模板中修改图片及连接的链接地址使其显示图片信息。此时如果没有正确的加载图片,可以在数据库中查找当前商品在上传时是否有图片的上传。 12、在善商品详情页显示属性信息,在控制器GoodsController.class.php中获取属性信息,同时将获取到的信息进行格式化操作,并增加判断商品属性是唯一属性还是单选属性。并根据两种情况来修改模板,因为获取的单选属性的信息为三维数组,所以模板显示的变量要不同。 13、首页中疯狂热卖商品的显示,疯狂热卖就是促销商品,应该为商品设置为促销商品,所以应该增加数据表里的字段,分别为cx_price促销商品start促销开始时间end促销结束时间。修改商品模型GoodsModel.class.php中的字段列表,增加刚刚新增的三个字段名称,然后修改模板文件,其中添加选项是否设置为促销商品以及促销开始时间和结束时间。在前置钩子函数中增加判断是否设置为促销商品,并将用用户输入的时间通过函数strtotime将字符串转化为时间戳。然后修改编辑商品的模板文件,实现可以修改促销商品的信息,促销价格,开始时间,结束时间。同时也要修改模型中编辑的方法,修改的内容与添加商品相同。然后修改模板文件,由于数据库中的时间为时间戳,所以应该在模板中将时间戳格式化。测试后发现BUG,就是如果商品之前没有设置过促销价格及时间,在修改时开始和结束时间都会显示为0。解决这个BUG应该在模版中增加一个eq判断,如果开始时间为0时,文本框中不显示时间。 14、在首页中显示促销商品。在首页控制器IndexController.class.php中获取到促销商品的信息然后通过assign和display方法来渲染模板。在控制器中增加方法来获取促销商品的数据。编写获取数据时的where条件商品处于上架状态,而且现在的时间小于促销结束时间而且大于促销开始时间。由于首页中促销商品的显示个数有限制,所以在获取时应该增加limit条件,只取前5个。然后使用连贯操作查询出数据并修改模板文件中的促销商品的价格的变量使其在模板正确显示。 15、首页中楼层的显示,首先显示楼层的分类信息。在首页控制器中获取楼层的数据,然后通过assign和display方法来渲染模板。然后在分类模型CategoryModel.class.php中增加方法来实现获取楼层信息。首先获取顶级分类信息,即parent_id为0的所有分类,然后根据顶级分类标识分别获取到下一级分类和下一级推荐分类的信息,然后修改模板文件中的测试数据。
|