bonbontamura Posted May 18, 2011 Share Posted May 18, 2011 para pakar php,nanya donk. ada yang pernah mencoba mrogram salutation di mail templatenya prestashop 1.4.0.17?kan standardnya "Hallo (first name) (last name)" nah disitu saya mau tambahin "Hallo Mr./Mrs. (first name) (last name)" -> mr and mrs. sesusai yang didatabase tentunya.saya udah coba mainin files classes/orderHistory.php dan paymentmodule.php dengan menambahkan (gender) dan masukin variabel (gender) di semua mail templatenya tapi ngga berhasil tuhthanks in advanced Link to comment Share on other sites More sharing options...
prestanesia Posted May 18, 2011 Share Posted May 18, 2011 mail template yg mana ? kan banyak tuh ... & kodenya harus disimpen dibanyak tempat, afaik.misal pas konfirmasi order, itu ada di PaymentModule.php, tambahin .. $data = array( '{salutation}' => ($customer->id_gender==1 ? 'Mr.' : 'Ms.'), '{firstname}' => $customer->firstname, ... di mails\[iso_code]\order_conf.html & txttinggal disispinHello {salutation} {firstname} {lastname}, Link to comment Share on other sites More sharing options...
bonbontamura Posted May 18, 2011 Author Share Posted May 18, 2011 dalam contoh saya, untuk mail template bankwire.php.pada paymentmodule.php saya tambahin: {gender}' => ($customer->id_gender == 1 ? 'Mr.' : ($customer->id_gender == 2 ? 'Mrs.' : '')), lalu di orderhistory.php saya tambahin juga: '{gender}' => ($result['id_gender'] == 1 ? 'Mr.' : ($result['id_gender'] == 2 ? 'Mrs.' : '')), dan di template bankwire.html saya masukin: Dear {gender} {firstname} {lastname} Dengan harapan akan muncul: "Dear Mr. Ari Purnama" dimana Mr./Mrs. sesuai dgn yang disimpan di database tapi keluarnya tetep "dear Ari Purnama" tuh.di version 1.3. trick ini berfungsi. tapi saya udah keburu upgrade ke 1.4 dan ini ngga berfungsi lagi.mungkin ada yang bisa membantu Link to comment Share on other sites More sharing options...
gonebdg - webindoshop.com Posted May 18, 2011 Share Posted May 18, 2011 Hal tsb dikarenakan variabel $customer->id_gender yang Anda buat dalam file PaymentModule.php dan variabel $result['id_gender'] yang Anda buat dalam file OrderHistory.php tidak memuat value apapun coba saja Anda buat script-nya menjadi seperti dibawah ini dalam $data array PaymentModule.php: '{gender}' => (!$customer->id_gender ? 'KOSONG' : ($customer->id_gender == 1 ? 'Mr.' : ($customer->id_gender == 2 ? 'Ms.' : ''))) Lalu coba juga buat script-nya menjadi seperti dibawah ini dalam $data array OrderHistory.php: '{gender}' => (!$result['id_gender'] ? 'KOSONG' : (result['id_gender'] == 1 ? 'Mr.' : (result['id_gender'] == 2 ? 'Ms.' : ''))) Nanti yang tampil di dalam e-mail adalah KOSONGAnda harus membaca atau memanggil nilai id_gender yang tersimpan dalam table ps_customer terlebih dahuluDalam file OrderHistory.php coba Anda perhatikan lagi dengan seksama sql query yang diwakili dengan variabel $resultdisitu id_gender belum dipanggil/dibaca, sehingga variabel $result['id_gender'] = NULLNah ... baca/panggil dahulu id_gender ini dengan menambahkan c.`id_gender` dalam query SELECT: SELECT c.`id_gender` ... ... ... dan selanjutnya ... Untuk memanggilnya dalam file lain, Anda bisa gunakan baris script sbb : $gender = Db::getInstance()->getValue('SELECT id_gender FROM '._DB_PREFIX_.'customer WHERE id_customer = '.$cookie->id_customer); Link to comment Share on other sites More sharing options...
bonbontamura Posted May 18, 2011 Author Share Posted May 18, 2011 anda bener saya lupa menambahkan c.'id_gender' dalam query select.sekarang saya udah tambahin id_gender dalam query select, jadi seperti ini: SELECT osl.`template`, c.`lastname`, c.`firstname`, c.`id_gender`, osl.`name` AS osname, c.`email` FROM `'._DB_PREFIX_.'order_history` oh hasilnya pada akhir dari checkout process, file /modules/bankwire/validation.php tidak muncul alias hanya menampilkan halaman kosong saja. kenapa ya kira2? apa trick ini emang ngga berfungsi di version 1.4.0.17? Link to comment Share on other sites More sharing options...
gonebdg - webindoshop.com Posted May 18, 2011 Share Posted May 18, 2011 Lha Anda ingin menampilkan gender-nya di e-mail yang mana ?Qlo di semua e-mail template ... ya cukup banyak yang harus Anda periksa Qlo untuk ditampilkan di bankwire.html variabel gender tersebut harus ditempatkan didalam $mailVars array di file validation.php Link to comment Share on other sites More sharing options...
bonbontamura Posted May 18, 2011 Author Share Posted May 18, 2011 wah bos gonebdg, thanks alot buat bantuannya. it works nowtapi ternyata yang musti dirubah banyak yah. saya usahain supaya ngga usah mainin file phpnya, tapi cukup semua di tpl-nya aja, jadi kalo upgrade ngga repot tapi kayanya buat ini salutation masi belum mungkin yasekali lagi terima kasih buat bantuannya!salam Link to comment Share on other sites More sharing options...
gonebdg - webindoshop.com Posted May 19, 2011 Share Posted May 19, 2011 Qlo ingin lebih simple, masukan variabel gender ini kedalam cookie Link to comment Share on other sites More sharing options...
bonbontamura Posted May 19, 2011 Author Share Posted May 19, 2011 wah bos gonebdg, kayanya bakal repot deh. ini aja saya lagi pikir untuk undo semuanya karna nanti kalo update bakal repot jadi musti mainin php filesnya lagi. sebenernya kalo bisa disemua email maunya dipakein salutation. tapi kayanya berat yah Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now