2015-03-18 1 views
0

J'ai besoin d'aide avec opencart 2.0. menu principal.Opencart 2.0.0 Menu principal avec une seule sous-catégorie devrait aller aux vignettes de cette page

Si une catégorie principale n'a qu'une seule sous-catégorie, elle doit ignorer la page de collage et aller directement aux pouces de cette seule sous-catégorie.

Je suis nouveau sur PHP et opencart. J'ai essayé de changer le contrôleur d'en-tête et le catalogue de modèle, mais aucun changement ne fonctionne.

Répondre

0

Pour tous ceux qui veulent répondre à ce que je devais modifier catalogue/contrôleur/common/header.php et catalogue/modèle/catalogue/category.php

En category.php j'ai ajouté cette fonction

public function getCategoryFirstChildId($category_id) { 
    $query = $this->db->query('SELECT category_id FROM '. DB_PREFIX .'category WHERE parent_id = '. (int)$category_id .' ORDER BY category_id ASC LIMIT 1'); 

    return $query->row['category_id']; 
} 

et je header.php fait le changement de code comme suit

/* New Code starts here */ 

/*NEW =>*/ $category_total = $this->model_catalog_category->getTotalCategoriesByCategoryId($category['category_id']); 

/*NEW =>*/ $first_child_id = $this->model_catalog_category->getCategoryFirstChildId($category['category_id']); 

     if($category_total>1) 
{ 

       // Level 1 
       $data['categories'][] = array(
        'name'  => $category['name'], 
        'children' => $children_data, 
        'column' => $category['column'] ? $category['column'] : 1, 
        'href'  => $this->url->link('product/category', 'path=' . $category['category_id']) 
       ); 
} 

else 

{ 
          // Level 1 
       $data['categories'][] = array(
        'name'  => $category['name'], 
        'children' => $children_data, 
        'column' => $category['column'] ? $category['column'] : 1, 
        'href'  => $this->url->link('product/category', 'path=' . $category['category_id']. '_' . $first_child_id) 
       ); 

} 

/* New Code ends here */