2014-04-24 115 views
0

在後端時,我看不到所有的自定義屬性。前端也一樣。Magento後端>產品屬性應顯示較少的屬性

我選擇了EAV_ATTRIBUTE表,可以看到179個產品屬性(類型= 4)。 但是後端產品>屬性只顯示119.

任何人都知道會發生什麼?

的Magento版本:1.7.0.2

回答

0

在管理網格屬性,屬性集合檢索這樣的:

$collection = Mage::getResourceModel('catalog/product_attribute_collection') 
     ->addVisibleFilter(); 

所以不是所有存在的屬性,在那裏上市。只有在catalog_eav_attribute表中標記爲is_visible的那些。

試試這個選擇,看看你得到了什麼。

SELECT 
    * 
FROM 
    eav_attribute e 
    LEFT JOIN `catalog_eav_attribute` ce 
     ON e.attribute_id = ce.attribute_id 
WHERE 
    e.entity_type_id = 4 AND 
    ce.is_visible = 1 

這應該爲您提供管理網格中列出的屬性。

+0

謝謝Marius, 設置'ce.is_visible IS NULL'您的查詢顯示我缺少的屬性與'catalog_eav_attribute'沒有關係。 我不知道爲什麼'catalog_eav_attributes'不存在該屬性。這可能發生在我的SQL從1.3遷移到1.7.0.2之後。 我會嘗試在'catalog_eav_attribute'中插入缺失的關係。 – user3568678

+0

已使用您的查詢固定: 'INSERT INTO catalog_eav_attribute SELECT e.attribute_id,NULL,0,1,0,0,0,1,1,0,0,0,0,0,'',0,0 ,0,0 FROM eav_attribute e LEFT JOIN catalog_eav_attribute ce ON e.attribute_id = ce.attribute_id WHERE e.entity_type_id = 4 AND ce.is_visible IS NULL;' – user3568678

0

也許數據庫有由於直接使用SQL INSERT語句或這樣的數據不一致。它的邏輯是隻有一致的數據纔會顯示出來。

我見過一些導入腳本可能導致這種不一致性在網上浮動。

也許你被一個人咬了?

+0

是的,我被Magento升級腳本咬了。自2009年起我使用這個環境(版本1.2)。 – user3568678

相關問題