Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
  • Sign Up

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


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 не вариант

 

Link to post
Share on other sites

надо так

 

DATE(NOW() - INTERVAL 10 DAY)

 

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

  • +1 1
Link to post
Share on other sites
1 час назад, spectre сказал:

надо так

 

DATE(NOW() - INTERVAL 10 DAY)

 

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

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

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

 

Edited by Allaur
Link to post
Share on other sites

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

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

Edited by spectre
  • +1 1
Link to post
Share on other sites
$sql .= " AND p.date_added > DATE(NOW() - INTERVAL ". (int)$data['days'] ." DAY)";

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

Link to post
Share on other sites

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

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

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

Link to post
Share on other sites

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
Link to post
Share on other sites
53 минуты назад, Allaur сказал:

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

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

https://monosnap.com/file/Ha48IUrdOin43CNZtOE6ub3QuhWaM8

  • +1 1
Link to post
Share on other sites
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
Link to post
Share on other sites
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
 

Link to post
Share on other sites

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

Link to post
Share on other sites

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

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

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

  • +1 1
Link to post
Share on other sites

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

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

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

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

Link to post
Share on other sites

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
Link to post
Share on other sites
4 минуты назад, Allaur сказал:

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

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

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

 

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

  • +1 1
Link to post
Share on other sites

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

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

 

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

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

 

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

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

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

 

 

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

 

Так и есть

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

Edited by Allaur
Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.