Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Как вывести дату окончания акции товара ?


Recommended Posts

Как вывести дату окончания акции установленной на товаре ?

Не нужен таймер.

Нужно просто вывести дату по типу 2019-11-11 в категорию и на страницу товара.

Если дата не указана, то просто выводить текст Акция.

 

Надіслати
Поділитися на інших сайтах


как то так...

 

модель

public function getSpecialPriceDate($product_id){ 
   $sql = $this->db->query("SELECT DISTINCT * FROM " . DB_PREFIX . "product_special WHERE product_id = '".$product_id."'"); 
   return $sql->row;
} 

 

контроллер

if($data['special']){ 
   $special_date = $this->model_catalog_product->getSpecialPriceDate($this->request->get['product_id']);
}else{
   $special_date = '';
}

if ($special_date->num_rows && $special_date->row['date_end'] != '0000-00-00') {
    $data['special_date_end'] = date($this->language->get('date_format_short'), strtotime($special_date->row['date_end']));
}

 

шаблон

<?php if ($special_date_end) { ?>
   <?php echo $special_date_end; ?>
<?php } ?>

 

  • +1 2
Надіслати
Поділитися на інших сайтах

1 час назад, LiLu сказал:

if ($special_date->num_rows && $special_date->row['date_end'] != '0000-00-00') { $data['special_date_end'] = date($this->language->get('date_format_short'), strtotime($special_info->row['date_end'])); }

image.png.1f2229058cfb378ebc789bc3a603b1ad.png

 

Чот не пропускает и выводи. Undefined variable: special_date_end in

  • +1 1
Надіслати
Поділитися на інших сайтах


3 часа назад, Blast сказал:

вместо $special_info напишите $special_date

Теперь эта строка не нравится

if ($special_date->num_rows && $special_date->row['date_end'] != '0000-00-00') {

 

Notice: Trying to get property of non-object in /system/storage/modification/catalog/controller/product/product.php on line 346

  • +1 1
Надіслати
Поділитися на інших сайтах


В 30.10.2019 в 09:13, LiLu сказал:

if ($special_date->num_rows && $special_date->row['date_end'] != '0000-00-00') { $data['special_date_end'] = date($this->language->get('date_format_short'), strtotime($special_date->row['date_end'])); }

чуть не так

откуда  ->row, если модель возвращает - return $sql->row;

if ($special_date && $special_date['date_end'] != '0000-00-00') {
    $data['special_date_end'] = date($this->language->get('date_format_short'), strtotime($special_date['date_end']));
}

 

  • +1 1
Надіслати
Поділитися на інших сайтах

10 часов назад, fanatic сказал:

чуть не так

откуда  ->row, если модель возвращает - return $sql->row;


if ($special_date && $special_date['date_end'] != '0000-00-00') {
    $data['special_date_end'] = date($this->language->get('date_format_short'), strtotime($special_date['date_end']));
}

 

 

А как добавить в категории ?

 

На страницу товара вывел так. И добавил что бы текст можно было выводить если не указана дата

 

Контроллер

if($data['special']){
$special_date = $this->model_catalog_product->getSpecialPriceDate($this->request->get['product_id']);
}else{
$special_date = '';
}

if ($special_date && $special_date['date_end'] != '0000-00-00') {
$data['special_date_end'] = date($this->language->get('m.d.Y'), strtotime($special_date['date_end']));
} else {
$data['special_date_end'] = false;
}

Модель

    public function getSpecialPriceDate($product_id){
        $sql = $this->db->query("SELECT DISTINCT * FROM " . DB_PREFIX . "product_special WHERE product_id = '".$product_id."'");
        return $sql->row;
    }

И product.tpl

 


<?php if ($special_date_end) { ?>
Выводится дата
<?php } else { ?>
Выводится текст если нет даты
<?php } ?>

 

 

 

Змінено користувачем rubezhnoe95
  • +1 1
Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз

×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.