2011-03-04 81 views
3

我們有一個互相不同的類別(子類別)的magento商店。我們的問題是,當我們輸入管理員來管理左側類別樹中的類別時,我們的某些類別的子類別的外觀與左側的加號(+)圖標正確匹配,但是當我們嘗試擴展類別時,magento doesn不顯示任何項目。Magento不顯示管理中的所有類別

AJAX調用點到這個網址:

的index.php /管理/ catalog_category/categoriesJson /按鍵/ 09b218741dce69171825fdbf4954855d/isAjax =真

,並沒有拋出返回一個空數組任何錯誤。前端正確顯示所有類別。

Magento版本1.4.2.1

任何想法?

+0

得到了同樣的問題。現在Magento顯然是在尋找'id'的POST參數,而我只得到'form_key'。 – 2015-07-28 00:33:30

回答

2

閱讀約瑟夫的回答後,我一直在努力,尋找在catalog_category_entity錯誤,併成立,在我的樹中的所有類別有1級或2不同的是不會出現的類別有7級。奇怪的是,級別7是這個類別的正確水平,無論如何,我認爲問題在於Magento發現了一個2級的類別,它直接的孩子有7級,而且它不認爲這些類別是兒童爲父類。

我已經將孩子的等級更改爲2,並且一切似乎都奏效。

爲什麼我樹中的所有分類都有1級?我不知道...

1

您是否以編程方式創建類別(而不是使用管理界面)?與Magento中的情況一樣,當數據庫中某些值缺失或不正確時,條目可能根本不顯示。如果是這種情況,請查看數據庫中的「良好」類別記錄,並確保缺少的類別遵循正確的約定。

希望有幫助!

謝謝, 喬

+1

嗨,約瑟夫,謝謝你的回覆。我們使用普通的管理界面創建了類別,而不是以編程方式 – wezzy 2011-03-04 15:46:11

1

在我的情況下,我導入了所有的類別,並指定'level'作爲它在樹中的位置。也許這不是它的目的,因爲將所有類別設置爲2級,並且保持完好。

代碼我習慣把各級2正確設置它後:

 

    foreach ($categories as $category) { 
     $category = $category->load($category->getId()); 

     $level = $category->getLevel(); 

     if($level > 2) { 
      $category->setLevel(2); 
      $category->save(); 
     } 

    } 

0

對於所提到的情況下,這種查詢可以幫助:

select c.entity_id cid, p.entity_id pid 
from 
    catalog_category_entity c 
    inner join catalog_category_entity p on c.parent_id = p.entity_id 
where c.level != p.level+1 

它並沒有幫助我雖然我的類別。

2

要進入表catalog_category_entity

運行下面的SQL查詢:

UPDATE catalog_category_entity SET children_count = 
(SELECT COUNT(*) FROM 
(SELECT * FROM catalog_category_entity) AS table2 
WHERE path LIKE 
CONCAT(catalog_category_entity.path,"/%"));