Avatar billede whynot Nybegynder
09. april 2012 - 21:38 Der er 5 kommentarer og
1 løsning

magento, downloadable products

Hejsa Eksperter

Jeg ønsker at sælge unikke licenskoder jeg har i en mysql database gennem min magento webshop. Jeg ønsker at webshoppen sørger for at give kunden en unik licenskode efter en succesfuld transaktion med kreditkortbetaling. Dette være sig i form af en mail med licenskoden i eller vha. muligheden for kunden at downloade den.

Jeg sidder pt. og forsøger at få "downloadable products" til at hjælpe mig et stykke af vejen, og det dur faktisk helt hen til at jeg skal give kunden en unik licenskode... for hvordan gør jeg det?!

...ja okay, jeg laver et script der genererer unikke nøgler hvér gang og lader "downloadable products" pege på den url eller fil.. MEN.. jeg vil jo gerne gemme hvem der køber hvilke licenskoder og med hvilket OrderID.

MEN jeg ved ikke hvordan jeg skal løse problemet - HJÆLP.!
Avatar billede wordwrap Nybegynder
10. april 2012 - 09:31 #1
tror jeg ville gå en lidt anden vej..

start med at lave et reelt modul til din magento.

Når du laver et modul har du mulighed for at lave et install script.

Der kan du tilføje attributer til din ordre / tilføje et felt til sales_flat_quote tabellen.

Med det på plads kan du lave en observer, som ved køb af enten et specielt produkt eller produkt type, genererer din licenskode og gemmer denne op ordren.

Herefter er det blot at rette i dine templates så denne også bliver vist.

Det her er meget løst fortalt, og er blot en ide til hvordan jeg ville gribe situationen an.

Held og lykke med projektet :-)
Avatar billede whynot Nybegynder
10. april 2012 - 09:45 #2
hmmm.. undskyld, men det lyder utroligt bøvlet :O

Jeg har googlet denne kode:
Mage::getModel('sales/order')->loadByIncrementId($this->getOrderId());

...som skulle returnere ordre nummeret.. jeg tænker at koden skal ligges ind i en af de der phtml filer - men jeg aner ikke hvor :O
Avatar billede wordwrap Nybegynder
10. april 2012 - 11:33 #3
bøvlet, måske - men det er nu måden jeg ville gribe det an på..
Mage::getModel('sales/order')->loadByIncrementId($this->getOrderId());
loader en ordre ud fra et ordre nummer, så hvis du udelukkende vil pille i dine template filer får du da helt sikkert brug for den.

men du mangler stadig et sted at gemme den kode du vil generer

en god template at starte i vil jeg tro er /app/design/frontend/package/template/sales/order/items/renderer/default.phtml

husk at udskifte package/template så det passer til din template..

Men vil altså ikke anbefale dig at smide den slags kode ind i din template. så hellere tage en kopi af den tilhørende block og gemme den i local mappen og tilpas den..
Avatar billede wordwrap Nybegynder
27. april 2012 - 09:38 #4
Måske det var på tide at få lukket og slukket ??
Avatar billede whynot Nybegynder
27. april 2012 - 09:41 #5
Jeg forsøger faktisk stadig at følge dit råd.. Men jeg synes det super svært at få lavet den template og kan ikke få den til at virke :(
Avatar billede whynot Nybegynder
20. juni 2012 - 19:53 #6
Jeg har nu gennemskuet database strukturen i stedet for og har købt et gavekort modul.. sælger koderne som gavekort og laver udtræk fra databasen gennem et api jeg nu selv har lavet.. uha .. PISSE bøvlet.. men det virer og dét er cool.!
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester