2013-10-28 1 views
0

Я создал сгруппированный продукт и добавил связанные с ним продукты с количеством 1 и весом 0.so, когда я просматриваю этот сгруппированный продукт в домашнем поиске, продукт не отображается, так что есть способ для массового обновления веса продуктов? Я ответил на эту ссылку http://www.magentocommerce.com/boards/viewthread/266066/ и навалом обновил вес, но, следовательно, поиск не работает, но когда я обновил вес каждого продукта от администратора, его работа у меня была почти более 100000 продукты любая помощь будет благодарностьюMagento Bulk update Вес связанных продуктов

ответ

1

Я чувствую, что это может быть проблема REINDEX данных, вы можете пройти через этот ответ

Magento 1.7 Import product issue

Если у вас все еще есть проблема, обратитесь в admin-> Catalog-> Attributes-> Manage Attributes и нажмите на вес для редактирования. На экране редактирования вы можете установить значение «Используется в товарном листинге» на «Нет», если оно настроено на «да» и переиндексировать данные, и я чувствую, что оно решит вашу проблему.

+0

это doesent работало для меня – user1569674

+0

Я обновил свой ответ, вы можете проверить его сейчас –

+0

Извините, что предыдущая запись была ошибкой. Проблемы все еще сохраняются. Я вижу, что значения базы данных обновляются, но я пока не вижу продукт в результатах поиска. – user1569674

0

Я написал простой скрипт для массового обновления весов продуктов. У меня есть csv с 2 колонками первый столбец, а другой - с весами продуктов, которые нужно обновить. Ниже приведен сценарий

set_time_limit(0); 

$mageFilename = 'app/Mage.php'; 
require_once $mageFilename; 
Mage::setIsDeveloperMode(true); 
ini_set('display_errors', 1); 
umask(0); 
Mage::app('admin'); 
Mage::register('isSecureArea', 1); 

try{ 

$csv = new Varien_File_Csv(); 
$file = 'set_products_with_weight.csv'; 
$products = $csv->getData($file); 
$count = 0; 

$resource = Mage::getSingleton('core/resource'); 
$readConnection = $resource->getConnection('core_read'); 
$writeConnection = $resource->getConnection('core_write'); 

foreach($products as $product) 
{ 

    $weight = (float) $product[1]; 

    $query = 'UPDATE catalog_product_entity_decimal set value = '.$weight.' WHERE attribute_id = 80 AND entity_id IN (SELECT entity_id FROM catalog_product_entity where sku ="'.$product[0].'")'; 
    $results = $writeConnection->query($query); 


} 

} catch(Exception $e) { 

    print_r($e); 

} 

Где 80 это attribute_id атрибута веса. Вам нужно проверить это в базе данных. ИЛИ вы можете обновить запрос внутренним соединением с помощью атрибута_id и фильтровать по атрибуту_код = вес.