Jump to content

[Solved] Send to a Friend pada halaman Product


Recommended Posts

Hi para master.. ada yang tau ga, gmn caranya menempatkan module "send to a friend" pada halaman produk?
Tanpa redirect ke halaman lain.. jadi field friend's name and friend's email ada di halaman produk..

saya mencoba untuk memindahkan code ini dari sentoafriend.tpl:

{include file="$tpl_dir./errors.tpl"}
{if isset($smarty.get.submited)}

{l s='Your email has been sent successfully' mod='sendtoafriend'}
{else}

   <form method="post" action="{$request_uri}">




{l s='Friend\'s name:' mod='sendtoafriend'}
               <input type="text" id="friend-name" name="name" value="{if isset($smarty.post.name)}{$smarty.post.name|escape:'htmlall':'UTF-8'|stripslashes}{/if}" />



{l s='Friend\'s email:' mod='sendtoafriend'}
               <input type="text" id="friend-address" name="email" value="{if isset($smarty.post.name)}{$smarty.post.email|escape:'htmlall'|stripslashes}{/if}" />




               <input class="buttonCustom" style="padding: 2px 3px 2px 3px;" type="submit" name="submitAddtoafriend" value="{l s='send' mod='sendtoafriend'}" />
                               <input type="button" class="buttonCustomPrev" id="buttonTellCancel" value="Cancel" />


   </form>

{/if}



memang field2nya itu tampil di product page, tapi ketika saya send, tidak ada konfirmasi dan email pun tidak sampai ke email tujuan...
Tolong bantu donk, ada yang tau?

Thanks

Link to comment
Share on other sites

Yup that's works... tapi ujung2nya tetap di halaman baru.. ketika actionnya diarahkan ke sendtoafriend-form.php maka email terkirim namun halaman tidak kembali pada halaman product terakhir.. pada kasus ini, saya mencoba mengganti code pada sendtoafriend.php

return $this->display(__FILE__, 'sendtoafriend.tpl');



menjadi:

Tools::redirect($productLink);


sehingga setelah email terkirim, maka halaman di redirect kembali ke halaman product terakhir.

namun, yg jadi masalah adalah, tidak adanya notifikasi bahwa email berhasil terkirim.
Code pada product.tpl:

{if isset($smarty.get.submited)}

{l s='Your email has been sent successfully' mod='sendtoafriend'}



tidak memunculkan notifikasi apapun... bagaimana cara mengatasinya? Bingung jg nih

Link to comment
Share on other sites

konfirmasi e-mail terkirim akan muncul bila variabel $smarty.get.submited ada nilainya.
Tambahkan variabel ini kedalam link redirect Anda pada bagian pengiriman e-mail sukses

{if isset($smarty.get.submited)}

{l s='Your email has been sent successfully' mod='sendtoafriend'}
{/if}



Jadi yang diganti bukan baris script ini :

return $this->display(__FILE__, 'sendtoafriend.tpl');




Tapi gantilah baris script yang ini :

Tools::redirectLink(_MODULE_DIR_.$this->name.'/sendtoafriend-form.php?id_product='.$product->id.'&submited;');



Menjadi

Tools::redirectLink(LINK_YANG_DIINGINKAN'&submited=1');

Link to comment
Share on other sites

Ohh.. ternyata ada Tools::redirect lagi yah di bagian tengah code.

Hmm jadi begitu yah cara smarty mengambil data submit, saya kira submit value itu merupakan data yang harus diberikan oleh file php kepada file tpl: $smarty.get.submited, ternyata itu adalah bentuk parsing variabel pada URL yah.. saya blm begitu mengerti smarty sebelumnya, langsung saja terjun ke prestashop.


Oh iyah, jika saya hendak menambal field pada module send to a friend ini, gmn yah caranya? Misal saya mau menambahkan comment untuk dikirim kepada email yang dituju, tidak hanya berisi nama dan email saja, tapi ada field comment.

yang sudah saya pelajari: ada folder mail di module "send to a friend", di module mail tersebut ada bbrp folder yg merepresentasikan bahasa2 yang disediakan. Didalamnya ada 2 files berupa text dan HTML... nah isi files tersebut adalah isi email yang akan dikirimkan.
saya menemukan variabel2 seperti: {product}, {name}, dsb

nah yang hendak saya tanyakan adalah,
bagaimana assign variabel tersebut (saya hendak menambah variabel untuk comment)? --baik di tpl maupun php
lalu apakah saya perlu mengubah smua files di folder mail tersebut?


Thanks :D

Link to comment
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...