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

Разное количество товаров в мультимагазине


Focto

Recommended Posts

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

 

Есть мультимагазин (2 магазина на одной БД). Нужно сделать чтобы в каждом магазине отображались разные остатки товаров.

 

В таблице oc_product создал столбец quantity_2 по аналогии с quantity.

 

Подскажите, пожалуйста, как реализовать выгрузку данных из столбца quantity_2 во второй сайт?

Изменять нужно файлы: 2.mysite.com/system/database/mysql.php, 2.mysite.com/catalog/model/catalog/product.php, 2.mysite.com/catalog/model/catalog/category.php ?

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


Сделайте связку с ID магазина и все

 

Таблица товаров одна, столбец отвечающий за количество тоже один.

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

А если их 50000?

К сожалению это вариант не подходит.

 

В столбец quantity_2 данные заносятся автоматом из вне.

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


но менять надо с умом. если делать неправильно, будут дебри. если правильно, будет красивое решение

 В /catalog/model/catalog/product.php есть 13 месть где встречается слово quantity. 

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


Проще говоря, нужно сделать так, чтобы кол-во товара назначалась в зависимости указанного мульти-магазина.

Пример, в карточке товара, выбор магазина в котором будет отображаться данный товар.

По этой же технологии, делается то, что Вам нужно.

Ваш вариант, который вы изначально предложили не подходит не с той и не с другой стороны.

Что то я плохо представляю как это будет происходить на уровне БД. Товар должен быть один и тот же на всех магазинах.

 

Если я правильно понял нужно писать модуль.

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


не нужно писать никакого модуля

 

Нужно переделывать модель

 

наподобие

 

SELECT CASE WHEN ps.store_id =0
THEN p.quantity
ELSE p.quantity_2
END AS quantity
FROM `oc_product` p
LEFT JOIN `oc_product_to_store` ps ON p.product_id = ps.product_id
WHERE store_id = 'ID_текущий магазин'

 

 

или же сформировать динамическое название поля

 

$quantity = 'quantity_'. ID вашего магазина

 

$sql = 'SELECT p.'.$quantity . ' as quantity

FROM `oc_product` p
LEFT JOIN `oc_product_to_store` ps ON p.product_id = ps.product_id
WHERE store_id = ' .  ID_текущий магазин;

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

Поменял в catalog/model/catalog/product.php 

 

if ($query->num_rows) {
return array('quantity'         => $query->row['quantity_2'],

Количество на втором сайте берется из столбца quantity_2.

 

Теперь нужно проделать тоже самое с /catalog/model/catalog/category.php и моделями в /catalog/model/checkout/ ?

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


В /catalog/model/catalog/category.php ничего менять не нужно.

 

Если сортировка товара в категориях (по умолчанию) по количеству, то нужно менять в catalog/model/catalog/product.php

$sort_data = array(
'pd.name',
'p.model',
'p.quantity_2', 
'p.price',
'rating',
'p.sort_order',
'p.date_added'
); 
а затем в catalog/controller/catalog/product/category.php
 
if (isset($this->request->get['sort'])) {
$sort = $this->request->get['sort'];
$this->document->setRobots('noindex,follow');
} else {


$sort = 'p.quantity_2';
}
Надіслати
Поділитися на інших сайтах


никто не скажет точно, сколько будет этих мест. А еще ведь и всякие модули дополнительные. А если модуль еще и под ионкубом.

Только тестировать.

Из модулей, которых будут касаться изменения, волнует только Simple (упрощенная регистрация и заказ).

 

Кроме этого думаю нужно поменять модель стандартного checkout и модель mail.

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


все данные о товаре, в том числе и количество, должны браться из модели product, где основной и являтся oc_product

Если и существуют другие запросы к таблице product, то их нужно вычислять

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

  • 5 years later...
23 минуты назад, BB30 сказал:

Актуально!
Странно в OC общее кол-во по позиции распределяется по магазинам.
Как сделать для каждого магазина свое кол-во по позиции?

можно "хакнуть"

создать поле quantity в product_to_store а там же и цену.. :)
Но часть движка переделать, для того, чтобы
значения брать из этой таблицы
 

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

23 минуты назад, BB30 сказал:

@chukcha у товара есть поле расположение, через него может можно?

Увы нет, это поле как характеристика товра - оно не сериализовано

конечно можно наверное типа

0=10,1=40 и тд. но єто будет огормным костылем

Можно конечно созлать еще одну свзяанную табл

product_quantity
product_id

stotre_id

quantity

price

но все упрется

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

Но часть движка переделать, для того, чтобы значения брать из этой таблицы

 

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

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

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

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

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

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

Вхід

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

Вхід зараз
×
×
  • Створити...

Important Information

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