sigur

Лимиты latest на главной странице сайта.

Рекомендуемые сообщения

sigur    0

На главной выводится последний товар, нужно изменить лимит вывода товара.

Изменение лимитов в файле model/catalog/product.php  не дало результатов.

для Leaders лимиты  меняются а для Latest нет.

 

Я сделал правки в файлах home.tpl и home.php

 

было

 

/*home.tpl*/
<? if ($latest): ?>
...         
<?php echo $latest['name']; ?>
<?php echo $latest['code']; ?>
...
<? endif; ?> 
 
/*home.php*/
$result = $this->model_catalog_product->getLatestProduct();
if ($results) {
$category = $this->model_catalog_product->getCategories($result['product_id']);
if ($category) {
$result['category_name'] = $category[0]['name'];
$result['category_href'] = $this->url->link('product/category', 'path=' . $category[0]['category_id']);
} else {
$result['category_name'] = null;
$result['category_href'] = null;
}
$result['price'] = $price;
$result['price_old'] = $price_old;
$result['image'] = $this->model_tool_image->resize($image, 177, 177);
$result['href'] = $this->url->link('product/product', 'product_id=' . $result['product_id']);
$data['latest'] = $result;
} else {
$data['latest'] = null;
}
 
в этих файлах сделал изменения:
 
/*home.tpl*/
<? if ($latest): ?>         
<? foreach ($latest as $lt): ?>
...         
<?php echo $lt['name']; ?>
<?php echo $lt['code']; ?>
...
<? endforeach; ?>
<? endif; ?>
 
/*home.php*/
$result = $this->model_catalog_product->getLatestProduct();
if ($results) {
foreach ($results as $result) { 
$category = $this->model_catalog_product->getCategories($result['product_id']);
if ($category) {
$result['category_name'] = $category[0]['name'];
$result['category_href'] = $this->url->link('product/category', 'path=' . $category[0]['category_id']);
} else {
$result['category_name'] = null;
$result['category_href'] = null;
}
$result['price'] = $price;
$result['price_old'] = $price_old;
$result['image'] = $this->model_tool_image->resize($image, 177, 177);
$result['href'] = $this->url->link('product/product', 'product_id=' . $result['product_id']);
$data['latest'][] = $result;
}
} else {
$data['latest'] = null;
}
 
в результаты вместо Latest  выводятся акции, подскажите где копать и в каких файлах искать решение данной проблемы. И как изменить лимиты  latest на главной..
Изменено пользователем sigur

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
deim    241

А разве это не просто в настройках модуля в админке указывается?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
sigur    0

Проблема в том, что модули в админке отключены. :-)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
sigur    0

Вопрос не решен, возможно кто-то подскажет в каких файлах искать решения данного вопроса.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
netruxa    31

Попробуйте вместо 

$result = $this->model_catalog_product->getLatestProduct();
 
написать
$result = $this->model_catalog_product->getLatestProduct(1);
где 1 - кол-во товаров

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
sigur    0

 

Попробуйте вместо 

$result = $this->model_catalog_product->getLatestProduct();
 
написать
$result = $this->model_catalog_product->getLatestProduct(1);
где 1 - кол-во товаров

 

 

Изменил index.php, обновил модификаторы - не помогло.

возможно здесь проблема - product.php :

 
public function getLatestProduct($category_id = null) {
$and = null;
 
    if ($category_id) {
    $and = ' AND p2c.category_id = '.intval($category_id);
    }
 
$query = $this->db->query("SELECT DISTINCT *, pd.name AS name, p.image, p.stock_status_id, m.name AS manufacturer, ss.name AS stock
FROM " . DB_PREFIX . "product p
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)
LEFT JOIN " . DB_PREFIX . "manufacturer m ON (p.manufacturer_id = m.manufacturer_id)
LEFT JOIN " . DB_PREFIX . "stock_status ss ON (p.stock_status_id = ss.stock_status_id)
LEFT JOIN " . DB_PREFIX . "product_to_category p2c ON (p2c.product_id = p.product_id)
WHERE pd.language_id = '" . (int)$this->config->get('config_language_id') . "'
AND p2s.store_id = '" . (int)$this->config->get('config_store_id') . "'
AND ss.language_id = '" . (int)$this->config->get('config_language_id') . "'
AND p.date_available <= NOW()
AND p.stock_status_id = '7'
AND p.status = '1' " . $and . "
GROUP BY p.product_id
ORDER BY p.date_added DESC
LIMIT 12
");
 
return $query->row;
}
 
 
 
public function getLatestProducts($limit) {
$product_data = $this->cache->get('product.latest.' . (int)$this->config->get('config_language_id') . '.' . (int)$this->config->get('config_store_id') . '.' . $this->config->get('config_customer_group_id') . '.' . (int)$limit);
 
if (!$product_data) {
$query = $this->db->query("SELECT p.product_id FROM " . DB_PREFIX . "product p LEFT JOIN " . DB_PREFIX . "product_to_store p2s ON (p.product_id = p2s.product_id) WHERE p.status = '1' AND p.date_available <= NOW() AND p2s.store_id = '" . (int)$this->config->get('config_store_id') . "' ORDER BY p.date_added DESC LIMIT " . (int)$limit);
 
foreach ($query->rows as $result) {$product_data[$result['product_id']] = $this->getProduct($result['product_id']);}
 
$this->cache->set('product.latest.' . (int)$this->config->get('config_language_id') . '.' . (int)$this->config->get('config_store_id') . '.' . $this->config->get('config_customer_group_id') . '.' . (int)$limit, $product_data);
}
 
return $product_data;
}
Изменено пользователем sigur

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти


  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу