kabasik
Полиционер
- Регистрация
- 14 Мар 2012
- Сообщения
- 226
- Реакции
- 74
- Автор темы
- #1
Привет всем. Не могу перепилить модуль, нужна помощь.
Модуль выводит на странице товара похожие товары, по цене, или по категории.
Нужно сделать так чтобы выводились товары в низу по по столюбцу в БД или же по столбцу UCP.
Например:
В трех товарах в поле UCP прописано iphone -
Теперь нужно сделать что бы он брал UCP товара () и выводил по нем товары с этим же UCP на странице товара.
Получается как, серия товаров
в аттаче модуль из которого хочу переделать.
Этот код выводит товары из этой же категории, нужно переделать чтобы выводил по UCP ?
Модуль выводит на странице товара похожие товары, по цене, или по категории.
Нужно сделать так чтобы выводились товары в низу по по столюбцу в БД или же по столбцу UCP.
Например:
В трех товарах в поле UCP прописано iphone -
Теперь нужно сделать что бы он брал UCP товара () и выводил по нем товары с этим же UCP на странице товара.
Получается как, серия товаров
в аттаче модуль из которого хочу переделать.
Этот код выводит товары из этой же категории, нужно переделать чтобы выводил по UCP ?
Готов скинуть на пиво, или коньяк, тому кто поможет
PHP:
<?php
class ModelModuleSimilar extends Model {
public function getProductSimilar($product_id,$limit) {
$this->load->model('catalog/product');
$product_data = array();
if($product_id){
$main_category = ($this->config->get('config_seo_url_type') == 'seo_pro') ? ' AND main_category = 1' : '';
// находим категорию, в которой **х. товар
$category = $this->db->query("SELECT category_id FROM " . DB_PREFIX . "product_to_category WHERE product_id = '" .$product_id. "'" . $main_category . "");
if($category->num_rows){
$category_id = $category->row['category_id'];
// делаем выборку товаров из этой же категории, которые следуют после данного товара
$query = $this->db->query("SELECT p.product_id FROM " . DB_PREFIX . "product p LEFT JOIN " . DB_PREFIX . "product_to_category p2c ON (p.product_id = p2c.product_id) WHERE p2c.category_id = '" . (int)$category_id . "' AND p.status = '1' AND p.date_available <= NOW() AND p.product_id > '" .(int)$product_id. "' ORDER BY p.product_id ASC LIMIT " .(int)$limit);
foreach ($query->rows as $result) {
$product_data[$result['product_id']] = $this->model_catalog_product->getProduct($result['product_id']);
}
if(count($query->rows) < $limit){ // если в категории после товара меньше установленного лимита...
$limit = $limit - count($query->rows); // вычисляем разницу и делаем выборку товаров с НАЧАЛА списка, кол-во = разнице
$sql = $this->db->query("SELECT p.product_id FROM " . DB_PREFIX . "product p LEFT JOIN " . DB_PREFIX . "product_to_category p2c ON (p.product_id = p2c.product_id) WHERE p2c.category_id = '" . (int)$category_id . "' AND p.status = '1' AND p.date_available <= NOW() AND p.product_id <> '" .(int)$product_id. "' ORDER BY p.product_id ASC LIMIT " .(int)$limit);
foreach ($sql->rows as $result) {
$product_data[$result['product_id']] = $this->model_catalog_product->getProduct($result['product_id']);
}
}
}
}
return $product_data;
}
}