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

Увеличить количество дней отображения новинок


Recommended Posts

Доброго времени суток.

OcStore 15x

Модуль "Последние" выводит товары за последние 6 дней.

Пытался прописать следующее
в файле /catalog/controller/module/latest.php

$data = array(
			'sort'  => 'p.date_added',
			'order' => 'DESC',
			'start' => 0,
			'limit' => $setting['limit'],
            // значение дней, за которые хотим получить новинки
            'days'  => '30',
		);

а файле /catalog/model/catalog/product.php

 // Проверка на количество дней
 if (!empty($data['days'])){
        $sql .= " AND p.date_added > (NOW() - INTERVAL ". (int)$data['days'] ." DAY)";
    }

 

Не помогло.

Что ещё надо прописать чтоб  модуль показывал товары 30 дней ?
Постоянно править p.date_added не вариант

 

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


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

надо так

 

DATE(NOW() - INTERVAL 10 DAY)

 

в date обернуть для сравнения

$sql .= " AND p.date_added > DATE(NOW() - INTERVAL 10 DAY)";

не помогло
как правильно обернуть?

 

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


наверное не 10 а вашу переменную надо добавить) а так запрос рабочий и проверенный

либо приводите первую дату к таймстампу и сравнивайте как числа

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

$sql .= " AND p.date_added > DATE(NOW() - INTERVAL ". (int)$data['days'] ." DAY)";

переменную прописал, не помогло

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


7 минут назад, spectre сказал:

запрос рабочий и проверенный

Может ещё что-то где-то прописать надо для этого запроса?

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


41 минуту назад, Allaur сказал:

$sql .= " AND p.date_added > DATE(NOW() - INTERVAL ". (int)$data['days'] ." DAY)";

переменную прописал, не помогло

DATE_SUB("2017-06-15", INTERVAL 10 DAY)

https://www.w3schools.com/sql/trymysql.asp?filename=trysql_func_mysql_date_sub

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

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

вааще белый экран вылазит :(

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


53 минуты назад, Allaur сказал:

вааще белый экран вылазит

А вы не копируйте отсюда.

https://monosnap.com/file/Ha48IUrdOin43CNZtOE6ub3QuhWaM8

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

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

А вы не копируйте отсюда.

https://monosnap.com/file/Ha48IUrdOin43CNZtOE6ub3QuhWaM8

По вашей ссылке
File not found
Я не копировал
я просто добавил _SUB

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


30 минут назад, Allaur сказал:

По вашей ссылке
File not found
Я не копировал
я просто добавил _SUB

https://monosnap.com/file/zxUVTomAd7jLiM8XyVOx5AkWKx8QrG

Проверено, работает.

$data['days'] = 6;
$sql .= " AND p.date_added > DATE_SUB(NOW(), INTERVAL ". (int)$data['days'] ." DAY)";

 

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

18 минут назад, ibond сказал:

https://monosnap.com/file/zxUVTomAd7jLiM8XyVOx5AkWKx8QrG

Проверено, работает.


$data['days'] = 6;
$sql .= " AND p.date_added > DATE_SUB(NOW(), INTERVAL ". (int)$data['days'] ." DAY)";

 

Ссылка открылась
но этот код  у мня всё равно не работает

 

118		$sql .= " LEFT JOIN " . DB_PREFIX . "product_description pd ON (p.product_id = pd.product_id) LEFT JOIN " . DB_PREFIX . "product_to_store p2s ON (p.product_id = p2s.product_id) WHERE pd.language_id = '" . (int)$this->config->get('config_language_id') . "' AND p.status = '1' AND p.date_available <= NOW() AND p2s.store_id = '" . (int)$this->config->get('config_store_id') . "'";
119  
120		$data['days'] = 30;
121		$sql .= " AND p.date_added > DATE_SUB(NOW(), INTERVAL ". (int)$data['days'] ." DAY)";
122	
123		if (!empty($data['filter_category_id'])) {
124			if (!empty($data['filter_sub_category'])) {
125				$sql .= " AND cp.path_id = '" . (int)$data['filter_category_id'] . "'";	
126			} else {
127				$sql .= " AND p2c.category_id = '" . (int)$data['filter_category_id'] . "'";			
128			}	


ошибка
Parse error: syntax error, unexpected 'if' (T_IF) in /vqmod/vqcache/vq2-catalog_model_catalog_product.php on line 123
 

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


А по какой логике опенкарт изначально решает какое количество дней  товары держать в новинках?

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


17 минут назад, Allaur сказал:

А по какой логике опенкарт изначально решает какое количество дней  товары держать в новинках?

последние n-товаров по убыванию даты (дата добавления товара)

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


15 минут назад, thentru сказал:

последние n-товаров по убыванию даты (дата добавления товара)

это понятно
не понятно как считает дату. Как опенкарт знает что именно 6 дней надо товар хранить в новинках?

почему не 10 дней или не 100 дней.......

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


58 минут назад, Allaur сказал:

ошибка
Parse error: syntax error, unexpected 'if' (T_IF) in /vqmod/vqcache/vq2-catalog_model_catalog_product.php on line 123

Это совсем другая ошибка уже. У меня подозрение, что у Вас BOOM символы гуляют в коде!

Отправьте мне в личку /vqmod/vqcache/vq2-catalog_model_catalog_product.php с изменениями.

 

 

2 минуты назад, Allaur сказал:

не понятно как считает дату. Как опенкарт знает что именно 6 дней надо товар хранить в новинках?

почему не 10 дней или не 100 дней.......

 

Он не хранит 6 дней, Вам же сказали уже как:

19 минут назад, thentru сказал:

последние n-товаров по убыванию даты (дата добавления товара)

 

Сортирует по дате добавления товара и берет к-во установленное в модуле:

8 часов назад, Allaur сказал:

sort' => 'p.date_added',

'order' => 'DESC',

'start' => 0,

'limit' => $setting['limit'],

 

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

4 минуты назад, Allaur сказал:

не понятно как считает дату. Как опенкарт знает что именно 6 дней надо товар хранить в новинках?

почему не 10 дней или не 100 дней.......

по дефолту никак не считает
если вы не добавляете товары, в новинках будут последние по лимиту хоть вечность

 

а то, что у вас выводятся за последние 6 дней - значит есть какие-либо доработки

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


53 минуты назад, thentru сказал:

по дефолту никак не считает
если вы не добавляете товары, в новинках будут последние по лимиту хоть вечность

 

а то, что у вас выводятся за последние 6 дней - значит есть какие-либо доработки

вот
может есть дороботки  :))
то есть возможно какие то сторонние модули воздействуют.
Благодарю
буду рыть тогда.
 

 

54 минуты назад, ibond сказал:

Это совсем другая ошибка уже. У меня подозрение, что у Вас BOOM символы гуляют в коде!

Отправьте мне в личку /vqmod/vqcache/vq2-catalog_model_catalog_product.php с изменениями.

 

 

сейчас отправлю

 

Так и есть

BOOM символы гуляют в коде!

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


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

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

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

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

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

Вхід

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

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

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