Можно ли установить в поле in_stock в ноль, чтобы не отображалось на сайте ? Т.е. будет ли при этом работать корректно сайт ?
Как программно скрыть товар с витрины?
10.10.2011 22:32
Состоит в том, чтобы легко можно было менять статус товара (отображать его на сайте или нет) путем изменения одного поля в одной таблице. (через UPDATE)
Для тех, кто не знает.
## 6100 ## QUERY
SQL: DELETE FROM `catalog_product_flat_1` WHERE (entity_id IN('1852'))
AFF: 1
TIME: 0.0033
Вот таким действием отключается товар по-умолчанию в магенто.
Для тех, кто не знает.
## 6100 ## QUERY
SQL: DELETE FROM `catalog_product_flat_1` WHERE (entity_id IN('1852'))
AFF: 1
TIME: 0.0033
Вот таким действием отключается товар по-умолчанию в магенто.
10.10.2011 22:54
Спасибо конечно, но я пишу свой код, и могли бы просто намекнуть на визибилити.
---
Для остальных.
В своем коде (PHP) пишем
UPDATE `catalog_product_flat_1` SET `visibility` = '1' WHERE `entity_id` = 3125;
3125 это ай ди товара. можно конечно и через SKU поле. Но лучше через ай ди.
Второй вопрос (тоже горячий)
Товары можно группировать. Для этого нужно проделать целый ритуал. В базе изучил таблица, но пока не нашел, где ключ завязки.
Т.е. когда открываем один товар, например пепси, то можно выбрать из выпадающего списка литраж.(разумеется коды разные у литража)
Пепси 1л код24523
Пепси 2л код45
Пепси 0,5л код3534
---
Для остальных.
В своем коде (PHP) пишем
UPDATE `catalog_product_flat_1` SET `visibility` = '1' WHERE `entity_id` = 3125;
3125 это ай ди товара. можно конечно и через SKU поле. Но лучше через ай ди.
Второй вопрос (тоже горячий)
Товары можно группировать. Для этого нужно проделать целый ритуал. В базе изучил таблица, но пока не нашел, где ключ завязки.
Т.е. когда открываем один товар, например пепси, то можно выбрать из выпадающего списка литраж.(разумеется коды разные у литража)
Пепси 1л код24523
Пепси 2л код45
Пепси 0,5л код3534
10.10.2011 22:56
Дело в том, что ваш способ неправилен: catalog_product_flat_1 - это денормализованное представление товара, эта таблица автоматически перестраивается системой после индексирования. Поэтому ваши изменения пропадут после переиндексации.
10.10.2011 22:59
тогда в какой таблице попутно еще обновлять ? тут cataloginventory_stock_item поля визибилити нет(
Здесь catalog_category_product_index есть поле.
Здесь catalog_category_product_index есть поле.
10.10.2011 23:05
Magento использует модель хранения данных EAV.
Поэтому атрибуты одного товара размещены сразу в нескольких таблицах.
Более того, как я уже заметил выше, Magento выполняет денормализацию и собирает результаты в таблицах catalog_product_flat_*
Более того, внутренняя структура хранения товаров в базе данных может меняться от версии к версии, а также от некоторых административных настроек системы.
Поэтому работать напрямую с БД крайне не рекомендуется.
Вместо этого надо использовать программный интерфейс Magento.
Поэтому атрибуты одного товара размещены сразу в нескольких таблицах.
Более того, как я уже заметил выше, Magento выполняет денормализацию и собирает результаты в таблицах catalog_product_flat_*
Более того, внутренняя структура хранения товаров в базе данных может меняться от версии к версии, а также от некоторых административных настроек системы.
Поэтому работать напрямую с БД крайне не рекомендуется.
Вместо этого надо использовать программный интерфейс Magento.