2022-08-23 10:43:06 - 米境通跨境电商
因为公司里做商城开发用的是OpenCart,上级让我先熟悉这个系统,借此机会详细解读一下商品管理这一功能(也是为了日后给自己加深印象)。
首先,单击商品管理进入商品列表后,像这样:
商品列表界面
上面的六个文本是用来筛选的,下面的商品列表是用来排序的;所以一个完整的url可能会包括(token:密钥,filter_name:商品名称,filter_model:商品型号,filter_price:销售价格,filter_quantity:商品数量,filter_status:状态,filter_category:分类,sort则为按:(商品名称,商品型号,价格,数量,状态)来排序,order:(DESC,ASC),page:分页);
上面的panel是用来筛选条件的,像分页,如图六个字段,都是通过字段名加在url后面作为参数传递的;因此,只要商品信息有变化,就要像这样:
$url='';
if(isset($this->request->get['filter_name'])){
$url.='&filter_name='.urlencode(html_entity_decode($this->request->get['filter_name'],ENT_QUOTES,'UTF-8'));
}
if(isset($this->request->get['filter_model'])){
$url.='&filter_model='.urlencode(html_entity_decode($this->request->get['filter_model'],ENT_QUOTES,'UTF-8'));
}
if(isset($this->request->get['filter_price'])){
$url.='&filter_price='.$this->request->get['filter_price'];
}
if(isset($this->request->get['filter_quantity'])){
$url.='&filter_quantity='.$this->request->get['filter_quantity'];
}
if(isset($this->request->get['filter_category'])){
$url.='&filter_category='.$this->request->get['filter_category'];
}
if(isset($this->request->get['filter_status'])){
$url.='&filter_status='.$this->request->get['filter_status'];
}
if(isset($this->request->get['sort'])){
$url.='&sort='.$this->request->get['sort'];
}
if(isset($this->request->get['order'])){
$url.='&order='.$this->request->get['order'];
}
if(isset($this->request->get['page'])){
$url.='&page='.$this->request->get['page'];
}
因为会刷新页面,所以要重新组织url及url后面的参数,这样就可以:删除某些数量商品后,还能够保持在原有的页数上,或是原来的筛选条件上;
在点了筛选按钮后,商品列表的首页中的js代码首先会获取到你在上图六个文本中填写的内容,然后拼接到url上去,再location跳转到url(其实还是商品列表首页,只不过带着筛选条件);