diff --git a/app/controllers/base_controller.go b/app/controllers/base_controller.go index 58613c3..6811985 100644 --- a/app/controllers/base_controller.go +++ b/app/controllers/base_controller.go @@ -182,10 +182,10 @@ func (server *Server) routeInit() { server.Router.HandleFunc("/register", server.DoRegister).Methods("POST") server.Router.HandleFunc("/logout", server.Logout).Methods("GET") - server.Router.HandleFunc("/products", server.Products).Methods("GET") + server.Router.HandleFunc("/products/cat/{id}", server.Products).Methods("GET") server.Router.HandleFunc("/products/{slug}", server.GetProductByID).Methods("GET") - server.Router.HandleFunc("/section/{id}", server.SelectSection).Methods("GET") + server.Router.HandleFunc("/section/{id}", server.Categories).Methods("GET") staticFileDirectory := http.Dir("./assets/") staticFileHandler := http.StripPrefix("/public/", http.FileServer(staticFileDirectory)) diff --git a/app/controllers/category_controller.go b/app/controllers/category_controller.go index c1ed439..18e241a 100644 --- a/app/controllers/category_controller.go +++ b/app/controllers/category_controller.go @@ -3,6 +3,7 @@ package controllers import ( "github.com/gorilla/mux" "github.com/unrolled/render" + "moretcgshop/app/models" "net/http" ) @@ -18,8 +19,17 @@ func (server *Server) Categories(w http.ResponseWriter, r *http.Request) { return } - _ = renderer.HTML(w, http.StatusOK, "home", map[string]interface{}{ + categorieModel := models.Category{} + + categorien, err := categorieModel.GetCategorie(server.DB, vars["id"]) + + if err != nil { + println(err.Error()) + return + } + + _ = renderer.HTML(w, http.StatusOK, "categories", map[string]interface{}{ //"user": user, - //"sectionen": sectionen, + "categorien": categorien, }) } diff --git a/app/models/Category.go b/app/models/Category.go index d6d9a22..5f1b059 100644 --- a/app/models/Category.go +++ b/app/models/Category.go @@ -17,21 +17,13 @@ type Category struct { UpdatedAt time.Time } -func (p *Category) Get(db *gorm.DB, perPage int, page int) (*[]Product, int64, error) { +func (p *Category) GetCategorie(db *gorm.DB, sectionID string) (*[]Category, error) { - var count int64 - var products []Product + var categorie []Category - err := db.Debug().Model(&Product{}).Count(&count).Error + err := db.Debug().Model(&Category{}).Order("created_at desc").Where("section_id = ?", sectionID).Find(&categorie).Error if err != nil { - return nil, 0, err + return nil, err } - - offset := (page - 1) * perPage - - err = db.Debug().Model(&Product{}).Order("created_at desc").Limit(perPage).Offset(offset).Find(&products).Error - if err != nil { - return nil, 0, err - } - return &products, count, nil + return &categorie, nil } diff --git a/templates/pages/categories.html b/templates/pages/categories.html new file mode 100644 index 0000000..a0bfc60 --- /dev/null +++ b/templates/pages/categories.html @@ -0,0 +1,34 @@ +{{ define "categories" }} + +
+
+
+
+ +
+
+
+
+ +{{ end }} \ No newline at end of file