2
在購物車頁面上,我需要能夠使用兒童SKU獲得父級SKU。從兒童SKU獲取父級SKU(可配置或捆綁)
我試圖從兩個Magento的論壇,在這裏在計算器上沒有成功的類似問題剪掉一些代碼。
我能夠確定產品是否只是一個簡單的產品,而不使用getTypeId父(),但在那之後的一切我嘗試失敗導致在父SKU獲得。
的Magento版本:1.4.2.0
在購物車頁面上,我需要能夠使用兒童SKU獲得父級SKU。從兒童SKU獲取父級SKU(可配置或捆綁)
我試圖從兩個Magento的論壇,在這裏在計算器上沒有成功的類似問題剪掉一些代碼。
我能夠確定產品是否只是一個簡單的產品,而不使用getTypeId父(),但在那之後的一切我嘗試失敗導致在父SKU獲得。
的Magento版本:1.4.2.0
看看的Mage_Catalog_Model_Product_Type_Configurable和Mage_Bundle_Model_Product_Type類。他們有獲得父母和孩子產品的有用方法。你想getParentIdsByChild():
對於配置的產品:
$parent_ids = Mage::getModel('catalog/product_type_configurable')->getParentIdsByChild($childId);
對於捆綁產品:
$parent_ids = Mage::getModel('bundle/product_type')->getParentIdsByChild($childId);
這些與IDS只工作。您需要將兒童SKU轉換爲ID,然後將父級ID轉換回SKU。從SKU獲取ID的簡單方法是:
Mage::getModel('catalog/product')->getIdBySku($sku);
另外,您可以擁有多個父ID,因此您必須知道這一點。這裏有一個例子:
$child_id = Mage::getModel('catalog/product')->getIdBySku($child_sku);
$parent_ids = Mage::getModel('catalog/product_type_configurable')->getParentIdsByChild($child_id);
$parent_collection = Mage::getResourceModel('catalog/product_collection')
->addFieldToFilter('entity_id', array('in'=>$parent_ids))
->addAttributeToSelect('sku');
$parent_skus = $parent_collection->getColumnValues('sku');
這正是我所需要的。謝謝!對不起,延遲標記您的答案爲答案。我只是現在有機會嘗試它。 – 2012-07-17 13:12:46
還存在着方法法師:: getModel( '目錄/產品') - >的getResource() - > getProductsSku(即返回由產品ID的產品的SKU陣列(1,2,3) – 2013-03-27 12:31:25
我得到'數據負載getParentIdsByChild( )方法在循環警告中檢測到,同時在循環遍歷所有產品的循環中使用「phpcs」檢查代碼庫時,我們如何解決這個問題? – 2017-12-12 10:44:49