繁体   English   中英

在opencart的我的产品页面中显示特价结束日期

[英]display special price's end date to my product page in opencart

如果设置了结束日期,有什么办法可以在opencart 1.5.5.1的产品页面上显示特价结束日期?

我将此添加到目录/controller/product/product.php:

$special_info = $this->db->query("SELECT date_end FROM " . DB_PREFIX . "product_special WHERE product_id = '" . (int)$product_id . "'");
         if ($special_info->num_rows) {
            $date_end = $special_info->row['date_end'];   
              $this->data['date_end'] = date($this->language->get('date_format_short'), strtotime($date_end));
         }else{
               $this->data['date_end'] = '';
         }

并在我的目录/视图/主题/默认/模板/product/product.tpl中:

Special Ends: <?php echo $date_end; ?>

但似乎效果不佳。 如果将日期设置为特殊产品,则可以看到日期,但是如果没有,日期仍显示为: 30.11.-0001

如果未设置结束日期,如何使其不显示任何内容?

问题是,您只是在获得某种产品的特别优惠,而无论它实际上是过期的还是针对该客户群的。 用于获得特殊优惠的完整查询在/catalog/model/catalog/product.php

(SELECT price FROM " . DB_PREFIX . "product_special ps WHERE ps.product_id = p.product_id AND ps.customer_group_id = '" . (int)$customer_group_id . "' AND ((ps.date_start = '0000-00-00' OR ps.date_start < NOW()) AND (ps.date_end = '0000-00-00' OR ps.date_end > NOW())) ORDER BY ps.priority ASC, ps.price ASC LIMIT 1) AS special

因此,您还需要将其添加到查询中,并提供客户组ID。 你还需要检查的日期是不是0000-00-00让你完整的代码应该如下所示

$this->data['date_end'] = '';

$customer_group_id = $this->customer->isLogged() ? $this->customer->getCustomerGroupId() : $this->config->get('config_customer_group_id');
$special_info = $this->db->query("SELECT date_end FROM " . DB_PREFIX . "product_special WHERE product_id = '" . (int)$product_id . "' AND customer_group_id ='" . (int) $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 ($special_info->num_rows && $special_info->row['date_end'] != '0000-00-00') {
    $this->data['date_end'] = date($this->language->get('date_format_short'), strtotime($special_info->row['date_end']));
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM