Magentoで製品を無効にする方法を教えてください。
製品のステータス、つまりMagento 内で有効または無効にするコードはどこにありますか?
Magento で製品を無効にするためのコードの場所を教えてください。
あなたの答えをグーグルで検索するためのより多くの努力があなたを助けたかもしれません:
http://www.magentocommerce.com/boards/viewthread/195388/#t243282
Mage::getModel('catalog/product_status')->updateProductStatus($product->getId(), $storeId, Mage_Catalog_Model_Product_Status::STATUS_DISABLED);
また、(Linux で) 次の grep コマンドを実行することもできます。
grep -rin -A2 -B2 "updateProductStatus" *
そのコード片のインスタンスがどこで呼び出されるかを調べるために。
編集: Magento 1.6.2.0 では、ここで見つけることができます。(例: 上記のシェル コマンドの結果)
electricjesus@quadsrv64:~/projects/magento/magento/app$ grep -rin -A2 -B2 "updateProductStatus" *
code/core/Mage/Catalog/Model/Product/Flat/Indexer.php-172- * @return Mage_Catalog_Model_Product_Flat_Indexer
code/core/Mage/Catalog/Model/Product/Flat/Indexer.php-173- */
code/core/Mage/Catalog/Model/Product/Flat/Indexer.php:174: public function updateProductStatus($productId, $status, $store = null)
code/core/Mage/Catalog/Model/Product/Flat/Indexer.php-175- {
code/core/Mage/Catalog/Model/Product/Flat/Indexer.php-176- if (is_null($store)) {
code/core/Mage/Catalog/Model/Product/Flat/Indexer.php-177- foreach (Mage::app()->getStores() as $store) {
code/core/Mage/Catalog/Model/Product/Flat/Indexer.php:178: $this->updateProductStatus($productId, $status, $store->getId());
code/core/Mage/Catalog/Model/Product/Flat/Indexer.php-179- }
code/core/Mage/Catalog/Model/Product/Flat/Indexer.php-180- return $this;
--
code/core/Mage/Catalog/Model/Product/Flat/Observer.php-110- $storeId = $storeId > 0 ? $storeId : null;
code/core/Mage/Catalog/Model/Product/Flat/Observer.php-111-
code/core/Mage/Catalog/Model/Product/Flat/Observer.php:112: $this->_getIndexer()->updateProductStatus($productId, $status, $storeId);
code/core/Mage/Catalog/Model/Product/Flat/Observer.php-113-
code/core/Mage/Catalog/Model/Product/Flat/Observer.php-114- return $this;
--
code/core/Mage/Catalog/Model/Product/Indexer/Flat.php-317- if (isset($data['catalog_product_flat_status'])) {
code/core/Mage/Catalog/Model/Product/Indexer/Flat.php-318- $status = $data['catalog_product_flat_status'];
code/core/Mage/Catalog/Model/Product/Indexer/Flat.php:319: $this->_getIndexer()->updateProductStatus($productIds, $status);
code/core/Mage/Catalog/Model/Product/Indexer/Flat.php-320- }
code/core/Mage/Catalog/Model/Product/Indexer/Flat.php-321-
--
code/core/Mage/Catalog/Model/Product/Status.php-198- * @return Mage_Catalog_Model_Product_Status
code/core/Mage/Catalog/Model/Product/Status.php-199- */
code/core/Mage/Catalog/Model/Product/Status.php:200: public function updateProductStatus($productId, $storeId, $value)
code/core/Mage/Catalog/Model/Product/Status.php-201- {
code/core/Mage/Catalog/Model/Product/Status.php-202- Mage::getSingleton('catalog/product_action')
--
code/core/Mage/Catalog/Model/Resource/Product/Status.php-106- * @return Mage_Catalog_Model_Resource_Product_Status
code/core/Mage/Catalog/Model/Resource/Product/Status.php-107- */
code/core/Mage/Catalog/Model/Resource/Product/Status.php:108: public function updateProductStatus($productId, $storeId, $value)
code/core/Mage/Catalog/Model/Resource/Product/Status.php-109- {
code/core/Mage/Catalog/Model/Resource/Product/Status.php-110- $statusAttributeId = $this->_getProductAttribute('status')->getId();