package initializers import ( "net/http" . "Elektromarket/models" ) func initializePages() { Pages = make(map[string]Page) Pages["index"] = Page{"/", "templates/index.html", map[string]interface{}{"categories": Categories}, nil} Pages["category"] = Page{"/category", "templates/category.html", map[string]interface{}{}, DynamicDataLoaderCategory} Pages["product"] = Page{"/product", "templates/product.html", map[string]interface{}{}, DynamicDataLoaderProduct} } func initializeData() { Categories = []Category { {1, "Laptopy"}, {2, "Komputery"}, {3, "Smartfony"}, {4, "Smartwatche"}, {5, "Monitory"}, {6, "Drukarki"}, {7, "Myszki"}, {8, "Klawiatury"}, {9, "Akcesoria"}, } Products = []Product { { 1, GetCategoryByName("Laptopy"), "Apple MacBook Air 128 GB", "Procesor Intel Core i5 | Pamięć 8 GB | Dysk SSD M.2 PCIe 128 GB | Grafika Intel HD Graphics 6000 | Typ ekranu Błyszczący, LED | System macOS Sierra", "https://cdn.x-kom.pl/i/setup/images/prod/big/product-big,apple-macbook-air-i58gb128gbhd-6000mac-os-368639,pr_2016_4_28_12_39_54_140.jpg", 11, 3999, }, { 2, GetCategoryByName("Laptopy"), "Dell Inspiron 5370", "Procesor Intel Core i5-8250U | Pamięć 8 GB | Dysk SSD M.2 256 GB | Grafika AMD Radeon 530, + Intel UHD Graphics 620 | Typ ekranu Matowy, LED | System Microsoft Windows 10 Home PL", "https://cdn.x-kom.pl/i/setup/images/prod/big/product-big,dell-inspiron-5370-i5-8250u8gb256win10-r530-fhd-393456,2017/12/pr_2017_12_14_9_40_43_405_10.jpg", 5, 3249, }, { 3, GetCategoryByName("Komputery"), "Dell Inspiron 3670", "System Microsoft Windows 10 Home PL | Procesor Intel Core i7-8700 | Grafika NVIDIA GeForce GTX 1050Ti, + Intel UHD Graphics 630 | Pamięć RAM 8 GB | Dysk SSD PCIe 128 GB | Dysk HDD SATA 7200 obr. 1000 GB | Miejsce na dodatkowy wewnętrzny dysk SATA Możliwość montażu dwóch dysków SATA", "https://cdn.x-kom.pl/i/setup/images/prod/big/product-big,dell-inspiron-3670-i7-87008gb1281000win10-gtx1050ti-447395,2018/9/pr_2018_9_20_15_45_5_770_00.jpg", 123, 4299, }, } } func Initialize() { initializeData() initializePages() for k := range Pages { http.HandleFunc(Pages[k].Path, Pages[k].HandlePage) } http.Handle("/static/", http.StripPrefix("/static/", http.FileServer(http.Dir("static")))) http.ListenAndServe(":8000", nil) }