剑侠盟·网游特攻队

  • 首页
  • 门派特辑
  • 情缘系统
  • 帮派战报
  • HOME> 情缘系统> 详细:opencart多版本后台查看客户添加的购物车
    详细:opencart多版本后台查看客户添加的购物车
    情缘系统

    可使用在多版本

    本部分很长

    小编搞这个研究了有一两天了才搞出来(后台的购物车没有筛选)

    把admin/view/template/catalogproduct-list.twig 文件复制粘贴在上图文件夹里,并修改名称为shoppingcart.twig

    打开:upload\admin\language\zh-cn\common\column_left.php 在底部添加语言

    $_['text_dingdan'] = '購物車管理';

    $_['text_gwc'] = '購物車列表';

    打开:upload\admin\controller\common\column_left.php 在合适的地方添加下面语句

    // 购物车 shopping

    $data['menus'][] = array(

    'id' => 'menu-shoppingcart',

    'icon' => 'fa-shopping-bag',

    'name' => $this->language->get('text_dingdan'),

    'href' => $this->url->link('common/shoppingcart', 'user_token=' . $this->session->data['user_token']),

    'children' => array()

    );

    复制粘贴:复制upload\admin\controller\catalog\product.php 文件,放在下图位置,并修改类名 修改shoppingcart.php的类名

    class ControllerCommonShoppingcart extends Controller {

    选择权限 可看到单页面

    接下来,开始代码了,接收来自代码人的恶意吧 数据库中 cart表添加两个字段,名为status 0为默认,1为删除(客户删除购物车内容),line_id

    打开upload\system\library\cart\cart.php

    //1.找到此代码,并屏蔽

    $this->db->query("DELETE FROM " . DB_PREFIX . "cart WHERE (api_id > '0' OR customer_id = '0') AND date_added < DATE_SUB(NOW(), INTERVAL 1 HOUR)");

    //2.修改方法

    public function remove($cart_id)

    {

    // $this->db->query("DELETE FROM " . DB_PREFIX . "cart WHERE cart_id = '" . (int)$cart_id . "' AND api_id = '" . (isset($this->session->data['api_id']) ? (int)$this->session->data['api_id'] : 0) . "' AND customer_id = '" . (int)$this->customer->getId() . "' AND session_id = '" . $this->db->escape($this->session->getId()) . "'");

    $this->db->query("UPDATE " . DB_PREFIX . "cart set status = 1 WHERE cart_id = '" . (int)$cart_id . "' AND api_id = '" . (isset($this->session->data['api_id']) ? (int)$this->session->data['api_id'] : 0) . "' AND customer_id = '" . (int)$this->customer->getId() . "' AND session_id = '" . $this->db->escape($this->session->getId()) . "'");

    $this->data = array();

    }

    //3.修改方法 getProducts() ,添加条件and status = 0

    $cart_query = $this->db->query("SELECT * FROM " . DB_PREFIX . "cart WHERE api_id = '" . (isset($this->session->data['api_id']) ? (int)$this->session->data['api_id'] : 0) . "' AND customer_id = '" . (int)$this->customer->getId() . "' AND session_id = '" . $this->db->escape($this->session->getId()) . "'AND status = 0");

    //4.修改add()方法

    public function add($product_id, $quantity = 1, $option = array(), $recurring_id = 0)

    {

    //添加查询条件 and status = 0

    $query = $this->db->query("SELECT COUNT(*) AS total FROM " . DB_PREFIX . "cart WHERE api_id = '" . (isset($this->session->data['api_id']) ? (int)$this->session->data['api_id'] : 0) . "' AND customer_id = '" . (int)$this->customer->getId() . "' AND session_id = '" . $this->db->escape($this->session->getId()) . "' AND product_id = '" . (int)$product_id . "' AND recurring_id = '" . (int)$recurring_id . "' AND `option` = '" . $this->db->escape(json_encode($option)) . "'and status = 0");

    if (!$query->row['total']) {

    $this->db->query("INSERT " . DB_PREFIX . "cart SET api_id = '" . (isset($this->session->data['api_id']) ? (int)$this->session->data['api_id'] : 0) . "', customer_id = '" . (int)$this->customer->getId() . "', session_id = '" . $this->db->escape($this->session->getId()) . "', product_id = '" . (int)$product_id . "', recurring_id = '" . (int)$recurring_id . "', `option` = '" . $this->db->escape(json_encode($option)) . "', quantity = '" . (int)$quantity . "', date_added = NOW()");

    } else {

    $this->db->query("UPDATE " . DB_PREFIX . "cart SET quantity = (quantity + " . (int)$quantity . ") WHERE api_id = '" . (isset($this->session->data['api_id']) ? (int)$this->session->data['api_id'] : 0) . "' AND customer_id = '" . (int)$this->customer->getId() . "' AND session_id = '" . $this->db->escape($this->session->getId()) . "' AND product_id = '" . (int)$product_id . "' AND recurring_id = '" . (int)$recurring_id . "' AND `option` = '" . $this->db->escape(json_encode($option)) . "'");

    }

    $this->data = array();

    }

    //5.添加方法

    public function getCartlist($data = array())

    {

    if (!$this->data) {

    $cart_query = "SELECT * FROM " . DB_PREFIX . "cart";

    $sort_data = array(

    'name',

    'product_id',

    'date_added',

    'cart_id',

    'quantity',

    'status',

    'sort_order'

    );

    if (isset($data['sort']) && in_array($data['sort'], $sort_data)) {

    $cart_query .= " ORDER BY " . $data['sort'];

    } else {

    $cart_query .= " ORDER BY quantity";

    }

    if (isset($data['order']) && ($data['order'] == 'DESC')) {

    $cart_query .= " DESC";

    } else {

    $cart_query .= " ASC";

    }

    if (isset($data['start']) || isset($data['limit'])) {

    if ($data['start'] < 0) {

    $data['start'] = 0;

    }

    if ($data['limit'] < 1) {

    $data['limit'] = 20;

    }

    $cart_query .= " LIMIT " . (int)$data['start'] . "," . (int)$data['limit'];

    }

    $cart_query = $this->db->query($cart_query);

    foreach ($cart_query->rows as $cart) {

    $stock = true;

    $product_query = $this->db->query("SELECT * FROM " . DB_PREFIX . "product_to_store p2s LEFT JOIN " . DB_PREFIX . "product p ON (p2s.product_id = p.product_id) LEFT JOIN " . DB_PREFIX . "product_description pd ON (p.product_id = pd.product_id) WHERE p2s.store_id = '" . (int)$this->config->get('config_store_id') . "' AND p2s.product_id = '" . (int)$cart['product_id'] . "' AND pd.language_id = '" . (int)$this->config->get('config_language_id') . "' AND p.date_available <= NOW() AND p.status = '1'");

    if ($product_query->num_rows && ($cart['quantity'] > 0)) {

    $option_price = 0;

    $option_points = 0;

    $option_weight = 0;

    $option_data = array();

    foreach (json_decode($cart['option']) as $product_option_id => $value) {

    $option_query = $this->db->query("SELECT po.product_option_id, po.option_id, od.name, o.type FROM " . DB_PREFIX . "product_option po LEFT JOIN `" . DB_PREFIX . "option` o ON (po.option_id = o.option_id) LEFT JOIN " . DB_PREFIX . "option_description od ON (o.option_id = od.option_id) WHERE po.product_option_id = '" . (int)$product_option_id . "' AND po.product_id = '" . (int)$cart['product_id'] . "' AND od.language_id = '" . (int)$this->config->get('config_language_id') . "'");

    if ($option_query->num_rows) {

    if ($option_query->row['type'] == 'select' || $option_query->row['type'] == 'radio') {

    $option_value_query = $this->db->query("SELECT pov.option_value_id, ovd.name, pov.quantity, pov.subtract, pov.price, pov.price_prefix, pov.points, pov.points_prefix, pov.weight, pov.weight_prefix FROM " . DB_PREFIX . "product_option_value pov LEFT JOIN " . DB_PREFIX . "option_value ov ON (pov.option_value_id = ov.option_value_id) LEFT JOIN " . DB_PREFIX . "option_value_description ovd ON (ov.option_value_id = ovd.option_value_id) WHERE pov.product_option_value_id = '" . (int)$value . "' AND pov.product_option_id = '" . (int)$product_option_id . "' AND ovd.language_id = '" . (int)$this->config->get('config_language_id') . "'");

    if ($option_value_query->num_rows) {

    if ($option_value_query->row['price_prefix'] == '+') {

    $option_price += $option_value_query->row['price'];

    } elseif ($option_value_query->row['price_prefix'] == '-') {

    $option_price -= $option_value_query->row['price'];

    }

    if ($option_value_query->row['points_prefix'] == '+') {

    $option_points += $option_value_query->row['points'];

    } elseif ($option_value_query->row['points_prefix'] == '-') {

    $option_points -= $option_value_query->row['points'];

    }

    if ($option_value_query->row['weight_prefix'] == '+') {

    $option_weight += $option_value_query->row['weight'];

    } elseif ($option_value_query->row['weight_prefix'] == '-') {

    $option_weight -= $option_value_query->row['weight'];

    }

    if ($option_value_query->row['subtract'] && (!$option_value_query->row['quantity'] || ($option_value_query->row['quantity'] < $cart['quantity']))) {

    $stock = false;

    }

    $option_data[] = array(

    'product_option_id' => $product_option_id,

    'product_option_value_id' => $value,

    'option_id' => $option_query->row['option_id'],

    'option_value_id' => $option_value_query->row['option_value_id'],

    'name' => $option_query->row['name'],

    'value' => $option_value_query->row['name'],

    'type' => $option_query->row['type'],

    'quantity' => $option_value_query->row['quantity'],

    'subtract' => $option_value_query->row['subtract'],

    'price' => $option_value_query->row['price'],

    'price_prefix' => $option_value_query->row['price_prefix'],

    'points' => $option_value_query->row['points'],

    'points_prefix' => $option_value_query->row['points_prefix'],

    'weight' => $option_value_query->row['weight'],

    'weight_prefix' => $option_value_query->row['weight_prefix']

    );

    }

    } elseif ($option_query->row['type'] == 'checkbox' && is_array($value)) {

    foreach ($value as $product_option_value_id) {

    $option_value_query = $this->db->query("SELECT pov.option_value_id, pov.quantity, pov.subtract, pov.price, pov.price_prefix, pov.points, pov.points_prefix, pov.weight, pov.weight_prefix, ovd.name FROM " . DB_PREFIX . "product_option_value pov LEFT JOIN " . DB_PREFIX . "option_value_description ovd ON (pov.option_value_id = ovd.option_value_id) WHERE pov.product_option_value_id = '" . (int)$product_option_value_id . "' AND pov.product_option_id = '" . (int)$product_option_id . "' AND ovd.language_id = '" . (int)$this->config->get('config_language_id') . "'");

    if ($option_value_query->num_rows) {

    if ($option_value_query->row['price_prefix'] == '+') {

    $option_price += $option_value_query->row['price'];

    } elseif ($option_value_query->row['price_prefix'] == '-') {

    $option_price -= $option_value_query->row['price'];

    }

    if ($option_value_query->row['points_prefix'] == '+') {

    $option_points += $option_value_query->row['points'];

    } elseif ($option_value_query->row['points_prefix'] == '-') {

    $option_points -= $option_value_query->row['points'];

    }

    if ($option_value_query->row['weight_prefix'] == '+') {

    $option_weight += $option_value_query->row['weight'];

    } elseif ($option_value_query->row['weight_prefix'] == '-') {

    $option_weight -= $option_value_query->row['weight'];

    }

    if ($option_value_query->row['subtract'] && (!$option_value_query->row['quantity'] || ($option_value_query->row['quantity'] < $cart['quantity']))) {

    $stock = false;

    }

    $option_data[] = array(

    'product_option_id' => $product_option_id,

    'product_option_value_id' => $product_option_value_id,

    'option_id' => $option_query->row['option_id'],

    'option_value_id' => $option_value_query->row['option_value_id'],

    'name' => $option_query->row['name'],

    'value' => $option_value_query->row['name'],

    'type' => $option_query->row['type'],

    'quantity' => $option_value_query->row['quantity'],

    'subtract' => $option_value_query->row['subtract'],

    'price' => $option_value_query->row['price'],

    'price_prefix' => $option_value_query->row['price_prefix'],

    'points' => $option_value_query->row['points'],

    'points_prefix' => $option_value_query->row['points_prefix'],

    'weight' => $option_value_query->row['weight'],

    'weight_prefix' => $option_value_query->row['weight_prefix']

    );

    }

    }

    } elseif ($option_query->row['type'] == 'text' || $option_query->row['type'] == 'textarea' || $option_query->row['type'] == 'file' || $option_query->row['type'] == 'date' || $option_query->row['type'] == 'datetime' || $option_query->row['type'] == 'time') {

    $option_data[] = array(

    'product_option_id' => $product_option_id,

    'product_option_value_id' => '',

    'option_id' => $option_query->row['option_id'],

    'option_value_id' => '',

    'name' => $option_query->row['name'],

    'value' => $value,

    'type' => $option_query->row['type'],

    'quantity' => '',

    'subtract' => '',

    'price' => '',

    'price_prefix' => '',

    'points' => '',

    'points_prefix' => '',

    'weight' => '',

    'weight_prefix' => ''

    );

    }

    }

    }

    $price = $product_query->row['price'];

    // Product Discounts

    $discount_quantity = 0;

    foreach ($cart_query->rows as $cart_2) {

    if ($cart_2['product_id'] == $cart['product_id']) {

    $discount_quantity += $cart_2['quantity'];

    }

    }

    $product_discount_query = $this->db->query("SELECT price FROM " . DB_PREFIX . "product_discount WHERE product_id = '" . (int)$cart['product_id'] . "' AND customer_group_id = '" . (int)$this->config->get('config_customer_group_id') . "' AND quantity <= '" . (int)$discount_quantity . "' AND ((date_start = '0000-00-00' OR date_start < NOW()) AND (date_end = '0000-00-00' OR date_end > NOW())) ORDER BY quantity DESC, priority ASC, price ASC LIMIT 1");

    if ($product_discount_query->num_rows) {

    $price = $product_discount_query->row['price'];

    }

    // Product Specials

    $product_special_query = $this->db->query("SELECT price FROM " . DB_PREFIX . "product_special WHERE product_id = '" . (int)$cart['product_id'] . "' AND customer_group_id = '" . (int)$this->config->get('config_customer_group_id') . "' AND ((date_start = '0000-00-00' OR date_start < NOW()) AND (date_end = '0000-00-00' OR date_end > NOW())) ORDER BY priority ASC, price ASC LIMIT 1");

    if ($product_special_query->num_rows) {

    $price = $product_special_query->row['price'];

    }

    // Reward Points

    $product_reward_query = $this->db->query("SELECT points FROM " . DB_PREFIX . "product_reward WHERE product_id = '" . (int)$cart['product_id'] . "' AND customer_group_id = '" . (int)$this->config->get('config_customer_group_id') . "'");

    if ($product_reward_query->num_rows) {

    $reward = $product_reward_query->row['points'];

    } else {

    $reward = 0;

    }

    // Downloads

    $download_data = array();

    $download_query = $this->db->query("SELECT * FROM " . DB_PREFIX . "product_to_download p2d LEFT JOIN " . DB_PREFIX . "download d ON (p2d.download_id = d.download_id) LEFT JOIN " . DB_PREFIX . "download_description dd ON (d.download_id = dd.download_id) WHERE p2d.product_id = '" . (int)$cart['product_id'] . "' AND dd.language_id = '" . (int)$this->config->get('config_language_id') . "'");

    foreach ($download_query->rows as $download) {

    $download_data[] = array(

    'download_id' => $download['download_id'],

    'name' => $download['name'],

    'filename' => $download['filename'],

    'mask' => $download['mask']

    );

    }

    // Stock

    if (!$product_query->row['quantity'] || ($product_query->row['quantity'] < $cart['quantity'])) {

    $stock = false;

    }

    $recurring_query = $this->db->query("SELECT * FROM " . DB_PREFIX . "recurring r LEFT JOIN " . DB_PREFIX . "product_recurring pr ON (r.recurring_id = pr.recurring_id) LEFT JOIN " . DB_PREFIX . "recurring_description rd ON (r.recurring_id = rd.recurring_id) WHERE r.recurring_id = '" . (int)$cart['recurring_id'] . "' AND pr.product_id = '" . (int)$cart['product_id'] . "' AND rd.language_id = " . (int)$this->config->get('config_language_id') . " AND r.status = 1 AND pr.customer_group_id = '" . (int)$this->config->get('config_customer_group_id') . "'");

    if ($recurring_query->num_rows) {

    $recurring = array(

    'recurring_id' => $cart['recurring_id'],

    'name' => $recurring_query->row['name'],

    'frequency' => $recurring_query->row['frequency'],

    'price' => $recurring_query->row['price'],

    'cycle' => $recurring_query->row['cycle'],

    'duration' => $recurring_query->row['duration'],

    'trial' => $recurring_query->row['trial_status'],

    'trial_frequency' => $recurring_query->row['trial_frequency'],

    'trial_price' => $recurring_query->row['trial_price'],

    'trial_cycle' => $recurring_query->row['trial_cycle'],

    'trial_duration' => $recurring_query->row['trial_duration']

    );

    } else {

    $recurring = false;

    }

    $this->data[] = array(

    'cart_id' => $cart['cart_id'],

    'status' => $cart['status'],

    'date_added' => $cart['date_added'],

    'product_id' => $product_query->row['product_id'],

    'name' => $product_query->row['name'],

    'model' => $product_query->row['model'],

    'shipping' => $product_query->row['shipping'],

    'image' => $product_query->row['image'],

    'option' => $option_data,

    'download' => $download_data,

    'quantity' => $cart['quantity'],

    'minimum' => $product_query->row['minimum'],

    'subtract' => $product_query->row['subtract'],

    'stock' => $stock,

    'price' => ($price + $option_price),

    'total' => ($price + $option_price) * $cart['quantity'],

    'reward' => $reward * $cart['quantity'],

    'points' => ($product_query->row['points'] ? ($product_query->row['points'] + $option_points) * $cart['quantity'] : 0),

    'tax_class_id' => $product_query->row['tax_class_id'],

    'weight' => ($product_query->row['weight'] + $option_weight) * $cart['quantity'],

    'weight_class_id' => $product_query->row['weight_class_id'],

    'length' => $product_query->row['length'],

    'width' => $product_query->row['width'],

    'height' => $product_query->row['height'],

    'length_class_id' => $product_query->row['length_class_id'],

    'recurring' => $recurring

    );

    } else {

    $this->remove($cart['cart_id']);

    }

    }

    }

    return $this->data;

    }

    打开模型 upload\admin\model\catalog\product.php

    //添加方法

    // 购物车总数

    public function getTotalCart($data = array()) {

    $sql = "SELECT COUNT(DISTINCT cart_id) AS total FROM " . DB_PREFIX . "cart" ;

    $query = $this->db->query($sql);

    return $query->row['total'];

    }

    打开控制器 upload\admin\controller\common\shopping.php,编辑代码(现成的代码,可复制)

    class ControllerCommonShoppingcart extends Controller

    {

    public function index()

    {

    $this->load->language('common/shoppingcart');

    $this->document->setTitle($this->language->get('heading_title'));

    $this->load->model('tool/image');

    $this->load->model('tool/upload');

    $this->load->model('catalog/product');

    $data['products'] = array();

    $this->getlist();

    }

    public function getlist()

    {

    $this->document->addScript('view/javascript/jquery/switch/bootstrap-switch.min.js');

    if (isset($this->request->get['filter_name'])) {

    $filter_name = $this->request->get['filter_name'];

    } else {

    $filter_name = '';

    }

    if (isset($this->request->get['filter_model'])) {

    $filter_model = $this->request->get['filter_model'];

    } else {

    $filter_model = '';

    }

    if (isset($this->request->get['date_added'])) {

    $filter_price = $this->request->get['date_added'];

    } else {

    $filter_price = '';

    }

    if (isset($this->request->get['filter_quantity'])) {

    $filter_quantity = $this->request->get['filter_quantity'];

    } else {

    $filter_quantity = '';

    }

    if (isset($this->request->get['filter_status'])) {

    $filter_status = $this->request->get['filter_status'];

    } else {

    $filter_status = '';

    }

    if (isset($this->request->get['filter_category'])) {

    $filter_category = $this->request->get['filter_category'];

    } else {

    $filter_category = '';

    }

    if (isset($this->request->get['filter_image'])) {

    $filter_image = $this->request->get['filter_image'];

    } else {

    $filter_image = '';

    }

    if (isset($this->request->get['sort'])) {

    $sort = $this->request->get['sort'];

    } else {

    $sort = 'pd.name';

    }

    if (isset($this->request->get['order'])) {

    $order = $this->request->get['order'];

    } else {

    $order = 'ASC';

    }

    if (isset($this->request->get['page'])) {

    $page = $this->request->get['page'];

    } else {

    $page = 1;

    }

    $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['date_added'])) {

    $url .= '&filter_price=' . $this->request->get['date_added'];

    }

    if (isset($this->request->get['filter_quantity'])) {

    $url .= '&filter_quantity=' . $this->request->get['filter_quantity'];

    }

    if (isset($this->request->get['filter_status'])) {

    $url .= '&filter_status=' . $this->request->get['filter_status'];

    }

    if (isset($this->request->get['filter_category'])) {

    $url .= '&filter_category=' . $this->request->get['filter_category'];

    }

    if (isset($this->request->get['filter_image'])) {

    $url .= '&filter_image=' . $this->request->get['filter_image'];

    }

    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'];

    }

    $filter_data = array(

    'filter_name' => $filter_name,

    'date_added' => $filter_price,

    'filter_quantity' => $filter_quantity,

    'filter_status' => $filter_status,

    'filter_image' => $filter_image,

    'sort' => $sort,

    'order' => $order,

    'start' => ($page - 1) * $this->config->get('config_limit_admin'),

    'limit' => $this->config->get('config_limit_admin')

    );

    //获取总数

    $product_total = $this->model_catalog_product->getTotalCart($filter_data);

    //获取购物车里面的内容并输出

    $products = $this->cart->getCartlist($filter_data);

    foreach ($products as $product) {

    $image = $this->model_tool_image->resize($product['image'], $this->config->get('theme_' . $this->config->get('config_theme') . '_image_cart_width'), $this->config->get('theme_' . $this->config->get('config_theme') . '_image_cart_height'));

    $option_data = array();

    foreach ($product['option'] as $option) {

    if ($option['type'] != 'file') {

    $value = $option['value'];

    } else {

    $upload_info = $this->model_tool_upload->getUploadByCode($option['value']);

    if ($upload_info) {

    $value = $upload_info['name'];

    } else {

    $value = '';

    }

    }

    $option_data[] = array(

    'name' => $option['name'],

    'value' => (utf8_strlen($value) > 20 ? utf8_substr($value, 0, 20) . '..' : $value)

    );

    }

    // Display prices

    if ($this->customer->isLogged() || !$this->config->get('config_customer_price')) {

    $unit_price = $this->tax->calculate($product['price'], $product['tax_class_id'], $this->config->get('config_tax'));

    $price = $this->currency->format($unit_price, $this->session->data['currency']);

    $total = $this->currency->format($unit_price * $product['quantity'], $this->session->data['currency']);

    } else {

    $price = false;

    $total = false;

    }

    $data['products'][] = array(

    'cart_id' => $product['cart_id'],

    'status' => $product['status'],

    'date_added' => $product['date_added'],

    'thumb' => $image,

    'name' => $product['name'],

    'model' => $product['model'],

    'option' => $option_data,

    'quantity' => $product['quantity'],

    'stock' => $product['stock'] ? true : !(!$this->config->get('config_stock_checkout') || $this->config->get('config_stock_warning')),

    'reward' => ($product['reward'] ? sprintf($this->language->get('text_points'), $product['reward']) : ''),

    'price' => $price,

    'total' => $total,

    'href' => $this->url->link('common/shoppingcart', 'cart_id=' . $product['cart_id'])

    );

    }

    $data['user_token'] = $this->session->data['user_token'];

    if (isset($this->error['warning'])) {

    $data['error_warning'] = $this->error['warning'];

    } else {

    $data['error_warning'] = '';

    }

    if (isset($this->session->data['success'])) {

    $data['success'] = $this->session->data['success'];

    unset($this->session->data['success']);

    } else {

    $data['success'] = '';

    }

    if (isset($this->request->post['selected'])) {

    $data['selected'] = (array)$this->request->post['selected'];

    } else {

    $data['selected'] = array();

    }

    $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_quantity'])) {

    $url .= '&filter_quantity=' . $this->request->get['filter_quantity'];

    }

    if (isset($this->request->get['filter_status'])) {

    $url .= '&filter_status=' . $this->request->get['filter_status'];

    }

    if (isset($this->request->get['filter_image'])) {

    $url .= '&filter_image=' . $this->request->get['filter_image'];

    }

    if ($order == 'ASC') {

    $url .= '&order=DESC';

    } else {

    $url .= '&order=ASC';

    }

    if (isset($this->request->get['page'])) {

    $url .= '&page=' . $this->request->get['page'];

    }

    $data['sort_id'] = $this->url->link('common/shoppingcart', 'user_token=' . $this->session->data['user_token'] . '&sort=cart_id' . $url);

    $data['sort_name'] = $this->url->link('common/shoppingcart', 'user_token=' . $this->session->data['user_token'] . '&sort=sort_name' . $url);

    $data['sort_status'] = $this->url->link('common/shoppingcart', 'user_token=' . $this->session->data['user_token'] . '&sort=status' . $url);

    $data['sort_quantity'] = $this->url->link('common/shoppingcart', 'user_token=' . $this->session->data['user_token'] . '&sort=sort_quantity' . $url);

    $data['sort_date_added'] = $this->url->link('common/shoppingcart', 'user_token=' . $this->session->data['user_token'] . '&sort=sort_date_added' . $url);

    $data['sort_model'] = $this->url->link('common/shoppingcart', 'user_token=' . $this->session->data['user_token'] . '&sort=sort_model' . $url);

    $data['sort_price'] = $this->url->link('common/shoppingcart', 'user_token=' . $this->session->data['user_token'] . '&sort=sort_price' . $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_quantity'])) {

    $url .= '&filter_quantity=' . $this->request->get['filter_quantity'];

    }

    if (isset($this->request->get['filter_status'])) {

    $url .= '&filter_status=' . $this->request->get['filter_status'];

    }

    if (isset($this->request->get['filter_image'])) {

    $url .= '&filter_image=' . $this->request->get['filter_image'];

    }

    $pagination = new Pagination();

    $pagination->total = $product_total;

    $pagination->page = $page;

    $pagination->limit = $this->config->get('config_limit_admin');

    $pagination->url = $this->url->link('common/shoppingcart', 'user_token=' . $this->session->data['user_token'] . $url . '&page={page}');

    $data['pagination'] = $pagination->render();

    $data['results'] = sprintf($this->language->get('text_pagination'), ($product_total) ? (($page - 1) * $this->config->get('config_limit_admin')) + 1 : 0, ((($page - 1) * $this->config->get('config_limit_admin')) > ($product_total - $this->config->get('config_limit_admin'))) ? $product_total : ((($page - 1) * $this->config->get('config_limit_admin')) + $this->config->get('config_limit_admin')), $product_total, ceil($product_total / $this->config->get('config_limit_admin')));

    $data['filter_name'] = $filter_name;

    $data['filter_model'] = $filter_model;

    $data['date_added'] = $filter_price;

    $data['filter_quantity'] = $filter_quantity;

    $data['filter_status'] = $filter_status;

    $data['filter_image'] = $filter_image;

    $data['filter_category'] = $filter_category;

    $data['sort'] = $sort;

    $data['order'] = $order;

    $data['header'] = $this->load->controller('common/header');

    $data['column_left'] = $this->load->controller('common/column_left');

    $data['footer'] = $this->load->controller('common/footer');

    $this->response->setOutput($this->load->view('common/shoppingcart', $data));

    }

    }

    打开语言包,在common里面添加shoppingcart.php语言包,并编辑

    // Heading

    $_['heading_title'] = '购物车管理';

    $_['column_id'] = 'cart_ID';

    $_['column_name'] = '商品名稱';

    $_['column_model'] = '商品型號';

    $_['column_image'] = '圖片';

    $_['column_price'] = '價格';

    $_['column_quantity'] = '數量';

    $_['column_status'] = '狀態';

    $_['column_action'] = '时间';

    最后,修改common\shoppingcart.twig的视图(可自己修改要什么内容,不要什么内容)

    {{ header }}{{ column_left }}

    {{ heading_title }}

      {% for breadcrumb in breadcrumbs %}

    • {{ breadcrumb.text }}
    • {% endfor %}

    {% if error_warning %}

    {{ error_warning }}

    {% endif %}

    {% if success %}

    {{ success }}

    {% endif %}

    {{ text_filter }}

    {{ text_list }}

    {% if products %}

    {% for product in products %}

    {% endfor %}

    {% else %}

    {% endif %}

    {% if sort == 'product_id' %}{{ column_id }}{% else %}{{ column_id }} {% endif %} {{ column_image }} {% if sort == 'name' %}{{ column_name }}{% else %}{{ column_name }} {% endif %} {% if sort == 'model' %}{{ column_model }}{% else %}{{ column_model }} {% endif %} {% if sort == 'price' %}{{ column_price }}{% else %}{{ column_price }} {% endif %} {% if sort == 'quantity' %}{{ column_quantity }}{% else %}{{ column_quantity }} {% endif %} {% if sort == 'date_added' %}{{ column_quantity }}{% else %}{{ column_action }} {% endif %}
    {% if product.cart_id in selected %}

    {% else %}

    {% endif %}

    {{ product.cart_id }}

    {% if product.thumb %}{{ product.name }}{% else %}{% endif %} {{ product.name }} {{ product.model }} {% if product.special %}{{ product.price }}


    {{ product.special }}

    {% else %}

    {{ product.price }}

    {% endif %}

    {% if product.quantity <= 0 %}{{ product.quantity }}{% elseif product.quantity <= 5 %}{{ product.quantity }}{% else %}{{ product.quantity }}{% endif %} {{ product.date_added }}

    {{ text_no_results }}

    {{ pagination }}

    {{ results }}

    {{ footer }}

    至此,完结

    DNF宠物获取全攻略:探索商城、任务与合成三大方法
    铁三角ATH-IM70( Audio-technica ATH-IM70 )

    友情链接:


    Copyright © 2022 剑侠盟·网游特攻队 All Rights Reserved.