Magento checkout pomoč ...

Pozdravljeni,

z magentom še nisem delal in sirtaucija je nanesla da moram implementirat plačevanje z karticami v obstojerčo trgovino. Imam par vprašanj in upam da mi bo znal kdo odogovorit.

Integriral bom plačevanje prek bankarta .. vse kar imam za dodelat je v "checkout"

torej do sedaj...
1. kot prvo sem dodal plačevanje z karticami v administraciji
2. odstranil sem polja za vnos podatkov od kartice v "methods.phtml" ker jih ne rabim saj se stranko redirekta na stran od banke
3. Odstranil sem podatke od kartice v "progress.phtml" in tam napisal nek tekst.
4. "review.phtml" oz. zadnji korak v košarici ..tukaj nastopijo moje težave ..

ok se pravi .. v "review.phtml" sem vstavil formo z inf. ki jih potrebujem za plačilo, tako da sedaj imam tam dva gumba.. eden original za oddajo naročila .. in drugi moj za submit forme in redirest na banko.

Prvi problem se je pojavil kako dobit skupno vrednost naročila .. to mi je nekako ratalo z Mage::getSingleton('checkout/session')->getQuote()->getGrandTotal();
s sabo peljem tudi customer id katerega sem pobral iz $SESSION['core']['visitor_data']['customerid'] ...

  1. vprašanje: Kako naj ugotovim kakšna metoda plačevanja je bila izbrana en korak nazaj ? -> potrebujem da vem kakšno tipko prikazat .. ali mojo ali že obstoječo (oddaja naročila)

  2. vprašanje: Če se ne motim ima vsako naročilo nek order ID .. kako bi dobil id od trenutnega naročila ?

kakorkoli v zadnjem koraku če je izbrana metoda plačevanje z kartico je stranka redirectana na banko in nato nazaj na stran iz katere sem jo poslal ..

  1. vprašanje: ko me redirecta nazaj .. kako bi lahko skočil direkt na zadnji korak ? saj ob vsakem refresku me da na prvi korak ?

  2. vprašanje: zakaj vedno ko skušam dodat kako svojo spremenljiko kot je recimo <?$x=1;?> mi da error ??

Logika ki jo skušam naredit je nekako taka ...
ko v koraku 4 stranka izbere plačilo z kartico moram v 5 koraku skrit oddaj naročilo in prikazat moj submit kateri pelje na stran od banke .. z redirectom nazaj bi peljal en svoj parameter v stilu "../checkout/onepage?payment=ok" .. tukaj se pojavi še enkrat moje vprašanje 4 .. če hočem preverit get v stilu <?if($_GET['payment']) echo "nekaj...";?> mi da takoj error !!! ???

kakorkoli ... če bi usepl prebrat ta parameter bi moral nekako skočit na zadnji korak kjer bi imela stranka tam original tipko "oddaj naročilo" .. s tem bi bil mail poslan in vse shranjeno v bazo ...

to da mora stisnit oddaj naročilo po tem ko plača ni glih nevem kaj zato sem razmišljal o opciji 2 in sicer :

ko se zgodi redirect iz banke nazaj .. bi redirectal na en svoj custom template .. v katerem bi moral na nek način storiti isto kot mi naredi gumb oddaj naročilo... se pravi poslat mail z vsebino naročila + shranit vse potrebno v bazo.

samo kako to izvest .. kaj vse je treba v ta template sklicat da lahko poženem ono funkcijo review.save() al kak je že .. oz. če bi vedel kam vse moram v bazo zapisat in kje sploh kaj dobit in spremenit da bi to ročno anredil ..

  1. vprašanje: kako bi v nekem svojem templejtu naredil kar mi "oddaj naročilo" anredi v sheckout ?

  2. vprašanje: kako je kaj ta košarica zapisana v bazi ?? v katerih tabelah ? in če naredim ročno vpis .. kaj vse je treba pazit

  3. vprašanje: je opcija da ko oddam naročilo .. pa v onem fajlu maor me redirecta success.phtml ugotovim da je bila uporabljena kartica in naredim tem šele redirect na banko ?

sem bil dovolj jasen ? ..

upam da je kak magento mojster tukaj ..

hvala

5 odgovorov

Uf imaš pa veliko vprašanj:) Če smem pripomnit je tvoja metoda malce zgrešena. Magento deluje na tak način, da ti ni potrebno tebi vedt kakšen način plačila je bil izbran ampak Magento sam kliče po odaji naročila ta modul. V tem modulu pa potem ti narediš redirect na banko.

Torej osnovni odgovor na tvoje vprašanje je, da imaš napačno vizijo kako delati "potek dogodkov" v Magentu. Zadeva ima v splošnem config, Model, Controler, Blocks ter Helper. MVC. Model ti ponuja delo nad "bazo" ter izvajanje neki generičnih operacij, Controler je tisti ki ga Magento pokliče, npr /bankart/redirect/. Tukaj imaš defenirane vse akcicje, success, fail, redirect. Dodatno imaš tukaj še helper, ki se ponavadi uporablja za formatiranje številk in podobno. Pomemben del pa so tudi Blocks, ki izpiše določen block HTML kode. Uporabno pri redirect funkciji npr, kjer ti ni potrebno delat nekih layout itd.

Vsekakor si za začetek poglej kako kreirati nov payment extension v Magentu. Seveda za vse funkcije itd dodatno glej še Bankart dokumentacijo, ki jo najbrž imaš? Če jo nimaš sporoči.

hja imaš prav .. sem malo falil koncept .. to pa zado ker magenta ne poznam .. ja navodila za bankart imam pa sem usposobil da že vse deluje .. samo integracija v magento mi dela težave ..

zdaj sem si vklopil "Paypal Standard" kar je načeloma videt to kar rabim .. samo nevem kje bi redirect popravil in poslal svoje inf. naprej ... nekaj sem že zbrskal samo sem še daleč od cilja ...

najbolje bi bilo da bi šel v razvoj svojega modula samo kaj k me čas lovi...

Paypal standard je malce bolj zapletena zadeva, kar ti rabiš, boš še težje razumel, ker imajo oni tam potem dva kontrolerja če se prav spomnim glede na različen način plačevanja. Je pa vsekakor fino gledat za referenco, da si vsaj začneš približno predstavljat tok poteka.

očitno bo treba it po navodilih in naredit custom modul.... damn ... sem upal da ne bo potrebno ... imaš mogoče kak clean modul narejen za plačevanje ? .. pač da so mape in xmlji postavljeni in toliko da je viden rter da se ga da izbrat ? ...

pa .. eh vse funkcije od magenta bi moral poznat .. oz. vedet kako kaj prebrat .. že vidim da bo jeba s to zadevo...

Theouros, res je. Bankart primerek ti žal pri Magento ne bo kaj dosti pomagal, mogoče kot osnova pri klicih. Ostala struktura pa je preveč različna. Imam narejen pravi primerek, sem ti ZS poslal na to temo.