2014-08-27 8 views
5

Pracuję z Magento 1.8. 0,0, mam wersję testową zainstalowany na serwerze WAMP poprzez localhost i kiedy chcę, aby dodać kategorię Mówię dostać następny błąd:Błąd krytyczny: wywołanie funkcji składowej getId() na obiekcie niebędącym obiektem w C: wamp www magentno lib Varien Data Tree Dbp.php na linii 332

Fatal error: Call to a member function getId() on a non-object in C:\wamp\www\magentno\lib\Varien\Data\Tree\Dbp.php on line 332

nie zrobiłem sklep jeszcze bo muszę kategoria za które .

Dodałem już kod wypróbowania i catch do linii, która podaje błąd.

jest to kod, który daje błąd:

public function loadEnsuredNodes($category, $rootNode) 
{ 
    $pathIds = $category->getPathIds(); 
    $rootNodeId = $rootNode->getId(); 
    $rootNodePath = $rootNode->getData($this->_pathField); 

    $select = clone $this->_select; 
    $select->order($this->_table.'.'.$this->_orderField . ' ASC'); 

    if ($pathIds) { 
     $condition = $this->_conn->quoteInto("$this->_table.$this->_idField in (?)", $pathIds); 
     $select->where($condition); 
    } 

    $arrNodes = $this->_conn->fetchAll($select); 

    if ($arrNodes) { 
     $childrenItems = array(); 
     foreach ($arrNodes as $nodeInfo) { 
      $nodeId = $nodeInfo[$this->_idField]; 
      if ($nodeId<=$rootNodeId) { 
       continue; 
      } 

      $pathToParent = explode('/', $nodeInfo[$this->_pathField]); 
      array_pop($pathToParent); 
      $pathToParent = implode('/', $pathToParent); 
      $childrenItems[$pathToParent][] = $nodeInfo; 
     } 

     $this->_addChildNodes($childrenItems, $rootNodePath, $rootNode, true); 
    } 
} 

ta linia jest zabójca:

$rootNodeId = $rootNode->getId(); 

i hope this image clears some stuff up

+0

swojej kategorii jest 'NULL' więc używać' -> 'na brak przedmiotu (null) throw Błąd krytyczny. Powinieneś dodać kod, jeśli chcesz nam pomóc w debugowaniu. – Debflav

+0

Mam zamiar dodać kod teraz – Djeroen

+0

Co to jest "węzeł $ root"? '$ Węzeł główny 'ma wartość NULL. – Debflav

Odpowiedz

1

Ten problem występuje z powodu problemu reindeksowania. Można uruchomić tę kwerendę, aby rozwiązać ten problem

INSERT INTO catalog_category_entity(entity_id,entity_type_id,attribute_set_id,parent_id,created_at,updated_at,path,POSITION,level,children_count) VALUES (1,3,0,0,'0000-00-00 00:00:00','2009-02-20 00:25:34','1',1,0,1),(2,3,3,0,'2009-02-20 00:25:34','2009-02-20 00:25:34','1/2',1,1,0); INSERT INTO catalog_category_entity_int(value_id,entity_type_id,attribute_id,store_id,entity_id,value) VALUES (1,3,32,0,2,1),(2,3,32,1,2,1); INSERT INTO catalog_category_entity_varchar(value_id,entity_type_id,attribute_id,store_id,entity_id,value) VALUES (1,3,31,0,1,'Root Catalog'),(2,3,33,0,1,'root-catalog'),(3,3,31,0,2,'Default Category'),(4,3,39,0,2,'PRODUCTS'),(5,3,33,0,2,'default-category');

Uwaga: - odpowiedź zaczerpnięty z This Link

Powiązane problemy