2017-11-29 20 views
0

JSON形式の製品を取り込み、顧客グループの価格を節約するMagento 1.9.3プロジェクトが割り当てられました。ただし、エラーがなくても何も保存されません。グループ価格は管理パネルやカタログには表示されません。Magento 1.9.3顧客グループの価格を保存しない

これはなぜですか?私はグループの価格に関するすべての単一の記事またはスタックエクスチェンジのケースを調べましたが、これらのどれも私の問題を解決していないようです。

現在、catalog_block_product_list_collectionイベントを使用しています。

$group_prices = $theProduct->getData('group_price'); 
if (is_null($group_prices)) { 
    $attribute = $theProduct->getResource()->getAttribute('group_price'); 
    if ($attribute) { 
     $attribute->getBackend()->afterLoad($theProduct); 
     $group_prices = $theProduct->getData('group_price'); 
    } 
} 

if(!is_array($group_prices)){ 
    $group_prices = array(); 
    $theProduct->addData(array('group_price' => $group_prices)); 
    $theProduct->save(); 
} 

$new_price = array(array (
    'website_id'=>Mage_Core_Model_App::ADMIN_STORE_ID, 
    'customer_group_id'=>$customerGroupId, 
    'price'=> $singleProduct->Price)); 
$group_prices = array_merge($group_prices, $new_price); 

$currentStore = Mage::app()->getStore()->getId(); 
try{ 
    Mage::app()->getStore()->setId(Mage_Core_Model_App::ADMIN_STORE_ID); 

    // First Delete all the group prices of product 
    $theProduct->setData('group_price', array()); 
    $theProduct->save(); 
    // Again save the old prices and new prices 
    $theProduct->setData('group_price', $group_prices); 
    $theProduct->save(); 
} catch(Exception $e) { 
    echo $e->getMessage(); 
} 
Mage::app()->getStore()->setId($currentStore); 

管理パネルにチェックインすると、グループ価格は保存されません。どんな助けもありがとうございます。

答えて

0

顧客グループフィールドについてをcustomer_group_id代わりcust_groupを使用しています。詳細について

$new_price = array(array (
    'website_id'=>Mage_Core_Model_App::ADMIN_STORE_ID, 
    'cust_group'=>$customerGroupId, 
    'price'=> $singleProduct->Price)); 

参照: アプリ/コード/コア/メイジ/カタログ/モデル/製品/属性/バックエンド/ Groupprice/Abstract.phpライン

条件があります:

if ($hasEmptyData || !isset($data['cust_group']) || !empty($data['delete'])) { 
    continue;} 
関連する問題