Pisanie sklepu internetowego

Chcę od podstaw stworzyć sklep internetowy. Znam zasady Obiektowo zorientowanego programowania, do przyspieszenia prac planuję użyć KohanaPHP (którą znam w miarę dobrze) Macie jakieś wskazówki pisania takiego sklepu? Szablony baz danych... jakiekolwiek pomoce, artykuły? Skąd w ogóle wiedzieć jak się pisze dane typy aplikacji?

2 lata, 4 miesiące temu | edytowane przez: michu 3536215

  • Myśle że najlepszym sposobem jest zobaczenie jak są pisane inne, najlepsze. Moim zdaniem najładniejszy kod można zobaczyć w http://prestashop.com. Jeśli to ma być w celach edukacyjnych to życzę powodzenia ;) Ale jeśli w użytkowych - lepiej skorzystąc z szablonu, nie ma co się męczyć. Trudno jest stworzyć sklep od podstaw, sporo pracy - no przynajmniej moim zdaniem - pisze aplikacje stand-alone. Tak czy siak zacznij od projektu ;)

  • Na początku zdecyduj, co chcesz w tym sklepie mieć. Na pewno produkty, kategorie, koszyk. Rozplanuj stronę, co gdzie ma być, możesz nawet wydzielić różne elementy na osobne widoki - box koszyka, box z kategoriami/menu, nagłówek, stopka, lista kategorii (także podkategorii), lista produktów w kategorii (różne widoki), wygląd koszyka. Jeśli orientujesz się, co to kontrolery - utwórz odpowiednie i dodaj do nich wymagane przez Twój plan metody. Oczywiście najlepiej byłoby, gdybyś rozdzielił cześć kliencką i administracyjną. Jak można napisać taki sklep? Możesz zrobić tak, że pomiędzy koszyk jest obiektem, który posiada metody: dodaj do koszyka, usuń z koszyka, wyczyść koszyk. Przed wrzuceniem do sesji serializujesz. Później, np, w konstruktorze deserializujesz i posiadając ten obiekt generujesz resztę widoków (głównie box z koszykiem). Dodawanie produktów to już jak Tobie wygodniej, wydaje mi się, że dobrze jest to realizować poprzez linka z określonym id (lub inny sposób, jeśli od razu chcesz określać ilość produktów) /dodaj/1234 . Nie mam za bardzo pomysłu na atrybuty, ale jeśli potrzebujesz czegoś naprawdę BANALNEGO, możesz zrealizować to przez zwykłego stringa, którego parsujesz i na jego podstawie generujesz dropdown-y/select-y: kolor:czerwony,niebieski,biały;rozmiar:L,XL,M,XXL,S Przy bardziej zaawansowanych rozwiązaniach, jak np w sklepach komputerowych relacje między produktami wymagałyby już bardziej zaawansowanego definiowania atrybutów i dodatkowych tabel w bazie danych.

  • O, dzięki. Wszystko rozumiem oprócz "serializować". Mogę prosić o wytłumaczenie?

  • Do powyższych dodałabym jeszcze zaprojektowanie bazy danych- gdzieś te dane trzeba trzymać... Proponowałabym bazę- między innymi- z takimi tabelami jak: klienci, produkty, kategorie, zamówienia; Do tego oczywiście odpowiednie relacje.

  • Prost sklep internetowy można napisać posługując się samym PHP + baza danych. Sam nie mając za dużo doświadczenia musiałem napisać takowy na zaliczenie przedmiotu. Oczywiście projekt musi być - przede wszystkim funkcjonalność sklepu oraz rozrys bazy danych i relacji. Mój sklep miał rejestrację/logowanie użytkowników, przeglądanie produktów wg kategorii, przeszukiwanie, dodawanie do koszyka, podgląd i modyfikacje koszyka, historię zamówień, moduł administracyjny (dodawanie i aktualizowanie produktów) oraz wysyłanie maili. To tylko podstawowe funkcje, które powinien mieć taki sklep. Ale tak jak ktoś wspomniał to pomysł dobry do nauki, bo jeśli chcesz go napisać dla późniejszego korzystania czy też udostępnienia komuś, to warto rozważyć skorzystanie z gotowych (często darmowych) modułów.

  • Tak, do nauki. Zacząłem projektować sobie na razie na kartkach, i wyszła mi jedna zagwózdka. Otóż chodzi o kategorie do których przypisany jest produkt. Planuję taką strukturę: tabela: product: productid (PRIMARY), title (tu może jakiś index?), content (opis), categoryid (to jakoś połączyć z categoryid z tabeli categories). Avatar byłby po prostu w folderze np. images/protucts/productid.png (ale odrazu rodzi się pytanie o prostą galerię (; ) I jak zrobić żeby przechowywać dla jednego produktu kilka kategori? Niby można by było dać zamiast category_id categories i tam przechowywać kilka numerów kategori... ale mam co do tego wątpliwości

Zaloguj się, aby dodać swoją odpowiedź