Jump to content
safa

[Eklenti-Ücretsiz]Dinamik Sözleşme Yapımı

Recommended Posts

Herkese Selam,

 

CMS sayfaları içerisine dinamik olarak müşteri adı soyadı , sepetteki ürünler, teslimat adresi gibi dinamik değişkenleri aktarmak için ufak bir override yazdım. bunu modul olarak yaparsam sadece bir adet cms sayfasına aktarılacağı için , genel bütün cms sayfalarına aktarmak daha mantıklı , prestashop'un yeni geliştirdiği avrupa yasalarına uyumluk için sitenin alışveriş ödeme adımlarını düzenleyecen advancedeucompliance modülü ilede uyumlu olması için cms içersine değişken atamak daha mantıklı ve sistem için kolay entegre sağlayan bir yöntemdir.

 

aşağıdaki değişkenler içerisine atamak istediğiniz başka paremetreler varsa söyleyin ekleriz.

php doyasını basit hazırlamaya çalıştım ki sizlerde kolaylıkla müdahale edebilesiniz diye.

 

cms sayfasına atadığım değişkenler bu değişkenleri cms sayası yazarken kullanacaksınız.

 

{SHOP_NAME}             -- > Admin panelde tanımladığınız mağaza adı.

{CustomerName}          -- > Müşteri Adı.

{CustomerLastName}   -- > Müşteri Soyadı.

{CustomerEmail}           -- > Müşteri E-Mail Adresi

{CartID}                         -- > Sepet ID

{CartTotal}                     -- > Sepet Toplam Fiyatı

{CurrencyISO}               -- > Seçilen Kur Adı

{Date}                            -- > Anlık Tarih

{delivery_block_html}    -- > Teslimat Adresi

{invoice_block_html}     -- > Fatura Adresi

{Products}                     -- > Sepetteki Ürünler

 

Aşağıdaki verdiğim dosyayı

/override/controllers/front

klasörüne atınız , ardından override daki dosyayı sistemin cache lemesi için.

/cache/class_index.php

dosyasını siliniz.

Not: Eğer siteme üye olmadan ve adres eklemeden müşteri bu sayfayı görütülemek isterse 500 hatası alır. bu nedenle hakkımızda sayfasına eklememnizi öneriyorum.

CmsController.php doyasına yazdığım yeni kodlar.

// override START
$cart = $this->context->cart;
if ($cart->id_address_delivery) {
$currency = new CurrencyCore($cart->id_currency);
$customer = new Customer((int)$cart->id_customer);
$delivery =  new Address( $cart->id_address_delivery );
$invoice = new Address( $cart->id_address_invoice);
$user = $delivery->getFields();
  function _getFormatedAddress(Address $the_address, $line_sep, $fields_style = array())
    {
        return AddressFormat::generateAddress($the_address, array('avoid' => array()), $line_sep, ' ', $fields_style);
    };

$product_list ='<table><tr><td>Ürün Adı</td><td>Ürün Fiyatı</td><td>Adet</td><td>KDV</td>';
foreach ( $cart->getProducts() as $key=>$item )
{    
    $price = round( $item['price'], 3 );
    if ( $item['price'] > $price ) $price += 0.001;

    $product_list .= "<tr><td>".$item['name'].'</td>';
    $product_list .= "<td>".$price.'</td> ';
    $product_list .= "<td>".$item['quantity'].'</td> ';
    $product_list .= "<td>".$item['rate']. "</td></tr>";
}
$product_list .='</table>';




            
if (isset($this->cms)){
    $this->cms->content=str_replace("{SHOP_NAME}",configuration::get('PS_SHOP_NAME'),"{$this->cms->content}");
    $this->cms->content=str_replace("{CustomerName}",$customer->firstname,"{$this->cms->content}");
    $this->cms->content=str_replace("{CustomerLastName}",$customer->lastname,"{$this->cms->content}");
    $this->cms->content=str_replace("{CustomerEmail}",$customer->email,"{$this->cms->content}");
    $this->cms->content=str_replace("{CartID}",$cart->id,"{$this->cms->content}");
    $this->cms->content=str_replace("{CartTotal}",floatval(number_format($cart->getOrderTotal(true, 3), 2, '.', '')),"{$this->cms->content}");
    $this->cms->content=str_replace("{CurrencyISO}",$currency->iso_code,"{$this->cms->content}");
    $this->cms->content=str_replace("{Date}",gmdate('Y-m-d H:i:s'),"{$this->cms->content}");
    
    $this->cms->content=str_replace("{delivery_block_html}",_getFormatedAddress($delivery, '<br />', array(
                            'firstname'    => '<span style="font-weight:bold;">%s</span>',
                            'lastname'    => '<span style="font-weight:bold;">%s</span>'
                        )),"{$this->cms->content}");
    $this->cms->content=str_replace("{invoice_block_html}",_getFormatedAddress($invoice, '<br />', array(
                                'firstname'    => '<span style="font-weight:bold;">%s</span>',
                                'lastname'    => '<span style="font-weight:bold;">%s</span>'
                        )),"{$this->cms->content}");
    $this->cms->content=str_replace("{Products}",$product_list,"{$this->cms->content}");

    
[spam-filter]
// override END


Saygılarımla

İyi çalışmalar..

CmsController.php

Edited by safa (see edit history)
  • Like 5

Share this post


Link to post
Share on other sites

Merhaba çok teşekkürler yaptığınız işlem çok faydalı. Fakat Üye olmadan gelen müşteriler için olmuyor bu sorunu nasıl çözebiliriz.?

Share this post


Link to post
Share on other sites

Merhaba çok teşekkürler yaptığınız işlem çok faydalı. Fakat Üye olmadan gelen müşteriler için olmuyor bu sorunu nasıl çözebiliriz.?

haklısın bunu dikkate almamışım , gün içinde güncelleme yaparım.

  • Like 1

Share this post


Link to post
Share on other sites

Safa bey sayenizde code dağarcığımız genişliyor teşekkür ederiz. Takipteyiz :)

  • Like 1

Share this post


Link to post
Share on other sites

Merhaba çok teşekkürler yaptığınız işlem çok faydalı. Fakat Üye olmadan gelen müşteriler için olmuyor bu sorunu nasıl çözebiliriz.?

sorun çözüldü.

500 hatasına düşmemesi için müşteri giriş yaptığında değişkenleri aktar demiştim.

şimdi sepette adres tanımlıysa aktar dedim şuanda bir sıkıntı olacağını sanmıyorum eğer yine sıkıntı olursa yaz yardımcı olurum.

if ($cart->id_address_delivery) {
}

Safa bey sayenizde code dağarcığımız genişliyor teşekkür ederiz. Takipteyiz :)

amacım 2009 dan beri bu zaten Aşkın abi. teşekkür ederim,  herkes bildiklerini paylaşsa forum daha iyi bir yer oluyor.

forumu olabildiğince reklamlardan uzak tutarak insanların yardımlaşmasını sağlamak.

Share this post


Link to post
Share on other sites

safa hocam bu işlemi birde module aktarıp paylassanız tadından yenmez :)

 

yukardaki mesajımda dediğim gibi

advancedeucompliance

modulüyle uyumlu olması için override yaptırdım.

prestashop 1.5.x ve 1.6.x versiyonlarında cms çekirdeği aynı olduğu için bütün versiyonlarda çalışır bu kodlama.

advancedeucompliance detaylı bir şekilde yakında anlatacağım.

 

iyi çalışmalar..

Share this post


Link to post
Share on other sites

Sefa Hocam Emeğine Sağlık. Gerçekten ihtiyaç duyulan bir soruna çözüm getirmişsin.

 

bir kaç bilgi daha çağıda bilirmiyi bu sayfada. mesela kargo ücreti, ödeme şekli, indirim miktarı, ve kurumsal faturalar için. firma adı, vergi dairesi ve vergi numarası gibi.

 

tekrar teşekkürler.

  • Like 1

Share this post


Link to post
Share on other sites

Sefa Hocam Emeğine Sağlık. Gerçekten ihtiyaç duyulan bir soruna çözüm getirmişsin.

 

bir kaç bilgi daha çağıda bilirmiyi bu sayfada. mesela kargo ücreti, ödeme şekli, indirim miktarı, ve kurumsal faturalar için. firma adı, vergi dairesi ve vergi numarası gibi.

 

tekrar teşekkürler.

 

teşekkür ederim .

söylediğiniz değişkenleri toparlayıp bugün eklerim inş.

 

iyi çalışmalar..

Share this post


Link to post
Share on other sites

Safa hocam değişkenleri toparlayabildinmi? ne zaman paylaşırsın?

saygılar

selamlar,

yaptığın denemede.

{invoice_block_html}

alanında kurumsal faturalar için. firma adı, vergi dairesi ve vergi numarası gibi bilgiler zaten geliyor.

 

ödeme metodu , sipariş sonrasında belirleneceği için gösterremeyiz bu şekilde . malum sözleşmeyi ödeme yapmadan gösterip onaylattırıyoruz.

kargo ücretini şu şekilde çekebiliriz.

$this->cms->content=str_replace("{ShippingCost}",$cart->getTotalShippingCost(),"{$this->cms->content}");

indirim miktarı yada kupon kodu ve yüzdesini. daha bakmadım bakarım bugün inş.

  • Like 1

Share this post


Link to post
Share on other sites

Bunu bir cms sayfasına yazdık diyelim. Siparişiniz alındı maili giderken altında bu cms sayfasında yazanların da gitmesini istiyorum. 

Nasıl yapabilirim.

  • Like 1

Share this post


Link to post
Share on other sites
4 hours ago, SeizeTheDay said:

Eski bir konuyu hortlatıyorum ancak 1.7 sürümleri için nasıl adapte edebiliriz bu kodları? @safa

Teşekkürler.

1.7 içinde uyarladım bunu, hafta içi paylaşım yaparım burdan.
şuan şehir dışındayım müsait değilim.

  • Like 1

Share this post


Link to post
Share on other sites
2 hours ago, safa said:

1.7 içinde uyarladım bunu, hafta içi paylaşım yaparım burdan.
şuan şehir dışındayım müsait değilim.

Beklemedeyiz selamlar.

Share this post


Link to post
Share on other sites

@safa merhabalar safa bey,

hafta içinde paylaşırım demiştiniz kodları ne zaman paylaşabilirsiniz acaba :) (mesafeli satış sözleşmesi ile ilgili biraz sıkıntı var da bu yüzden acele ediyorum kusura bakmayın)

Share this post


Link to post
Share on other sites
On 11/26/2019 at 5:01 PM, safa said:

1.7 içinde uyarladım bunu, hafta içi paylaşım yaparım burdan.
şuan şehir dışındayım müsait değilim.

Bende 1.7 için mesafeli satış sözleşmesi problemi yaşıyorum. Ne zaman paylaşırsınız?

Share this post


Link to post
Share on other sites
On 11/29/2019 at 12:00 PM, SeizeTheDay said:

@safa merhabalar safa bey,

hafta içinde paylaşırım demiştiniz kodları ne zaman paylaşabilirsiniz acaba :) (mesafeli satış sözleşmesi ile ilgili biraz sıkıntı var da bu yüzden acele ediyorum kusura bakmayın)

 

5 hours ago, HonkiPonki said:

Bende 1.7 için mesafeli satış sözleşmesi problemi yaşıyorum. Ne zaman paylaşırsınız?

bi sıkıntı var ürün listesi düngün yüklenmiyor onu düzülteyim öyle koyacam buraya.

Share this post


Link to post
Share on other sites
On 12/3/2019 at 4:10 AM, safa said:

 

bi sıkıntı var ürün listesi düngün yüklenmiyor onu düzülteyim öyle koyacam buraya.

Çözülemeyecek gibi mi Safa bey? @safa

Edited by SeizeTheDay (see edit history)

Share this post


Link to post
Share on other sites
43 minutes ago, SeizeTheDay said:

Çözülemeyecek gibi mi Safa bey? @safa

yok sadece biraz zamana ihtiyarcım var , çok daha güzelini yapacağım ,

konuyu takip edin :)

  • Like 1

Share this post


Link to post
Share on other sites
1 minute ago, safa said:

yok sadece biraz zamana ihtiyarcım var , çok daha güzelini yapacağım ,

konuyu takip edin :)

Sabırsızlıkla bekliyorum 😀

Share this post


Link to post
Share on other sites

Merhaba Safa,

advancedeucompliance çoktan Kullanımdan çıktı kimse kullanmıyor artık,
onun yerine artık ps_legalcombilance aldı,
advancedeucompliance kullanmayın o çok eskidi ve Kullanimdan çoktan çıktı

Güncel Legalcombilance Modülü burdan indirebilirsiniz. :

ps_legalcombilance Prestashop 1.7

ps legalcombilance Prestashop 1.6

 

Modül Ayarlari Açıklama Info: http://translate.google.com/translate?hl=de&sl=auto&tl=tr&u=https%3A%2F%2Fwww.shopbetreiber.info%2Fprestashop-in-deutschland-betreiben%2Fmodul-rechtssicherheit-prestashop-1-7-x%2F&sandbox=1

Alternativ: https://www.shopbetreiber.info/prestashop-in-deutschland-betreiben/modul-rechtssicherheit-prestashop-1-7-x/

 

ve Bu Modülüde ekleyin, yeni Offizielles Modul DSGVO-Compliance eski GDPR yerine
https://github.com/PrestaShop/psgdpr/releases

Edited by SliderFlash (see edit history)

Share this post


Link to post
Share on other sites
Am 19.9.2017 um 10:09 AM schrieb behcet:

Bunu bir cms sayfasına yazdık diyelim. Siparişiniz alındı maili giderken altında bu cms sayfasında yazanların da gitmesini istiyorum. 

Nasıl yapabilirim.

yeni mödülün ps_legalcombilance icinde bu sistem var zaten.

  • Like 1

Share this post


Link to post
Share on other sites
52 minutes ago, SliderFlash said:

yeni mödülün ps_legalcombilance icinde bu sistem var zaten.

Mesafeli satış sözleşmesi ps_legalcombilance üzerinden oluşturabiliyor mu? Dinamik olarak sipariş sırasında link olarak verdiğimizde müşteri gerekli bilgilere ulaşacak mı? Ek olarak mesafeli satış sözleşmesini mail olarak nasıl ileteceğiz; kullanım koşulları vs. gönderilebiliyor ancak benim istediğim dinamik olarak sipariş detaylarının yer alması. Bilgi verebilirseniz sevinirim; prestashop kullanmaya yeni başladık 1.7 kullanıyoruz. Bahsettiğiniz eklenti yüklü şuan sitemizde.

Share this post


Link to post
Share on other sites
vor 18 Minuten schrieb Fantecraft:

Mesafeli satış sözleşmesi ps_legalcombilance üzerinden oluşturabiliyor mu? Dinamik olarak sipariş sırasında link olarak verdiğimizde müşteri gerekli bilgilere ulaşacak mı? Ek olarak mesafeli satış sözleşmesini mail olarak nasıl ileteceğiz; kullanım koşulları vs. gönderilebiliyor ancak benim istediğim dinamik olarak sipariş detaylarının yer alması. Bilgi verebilirseniz sevinirim; prestashop kullanmaya yeni başladık 1.7 kullanıyoruz. Bahsettiğiniz eklenti yüklü şuan sitemizde.

ps_legalcombilance Ayarlarında hangi CMS Sayfaları Faturayla beraber E-Mail ile iletilmesini seçebilirsin, mesela Sözleşme, sona otomatikmen E-Mail fatura ile sözleşmede beraberinde gidiyor resimdeki gibi 14.jpg

Gerekli ve güncel Bilgiler ise zaten ya CMS Sayfalar içerisinde yada Prestashop Ayarlardan verilir

Modül Türkce degilse Türkceye cevirmeniz lazim, international/Diller

 

 

14.JPG

Edited by SliderFlash (see edit history)
  • Thanks 1

Share this post


Link to post
Share on other sites
On 1/26/2020 at 12:09 PM, SliderFlash said:

ps_legalcombilance Ayarlarında hangi CMS Sayfaları Faturayla beraber E-Mail ile iletilmesini seçebilirsin, mesela Sözleşme, sona otomatikmen E-Mail fatura ile sözleşmede beraberinde gidiyor resimdeki gibi 14.jpg

Gerekli ve güncel Bilgiler ise zaten ya CMS Sayfalar içerisinde yada Prestashop Ayarlardan verilir

Modül Türkce degilse Türkceye cevirmeniz lazim, international/Diller

 

 

14.JPG

Merhaba,

Bu bahsettiğiniz modülde, ödeme sırasın müşterinin Terms of Service ve Recovation Terms (CMS pages veya Türkçe İYS sayfaları) formlarını okuyup kabul ettiğine dair tik atması gerekiyor. 

Ama  ödeme aşamasında bulunan müşterinin adı soyadı adresi numarası ve aldığı ürünleri dinamik bir şekilde ToS veya Recovation Terms CMS sayfalarına dahil etmeyi göremedim.

Bu bahsettiğim ile ilgili bir  seçenek var mı Legal Compliance'da?

Share this post


Link to post
Share on other sites

@balanceofnature

vor 14 Stunden schrieb balanceofnature:

Ama  ödeme aşamasında bulunan müşterinin adı soyadı adresi numarası ve aldığı ürünleri dinamik bir şekilde ToS veya Recovation Terms CMS sayfalarına dahil etmeyi göremedim.

Buna zaten gerek yok çünkü Müşterinin Adı Soyadı ve Adresi Zaten E-Mail ile giden Faturada yazıyo zaten, önemli olan Kanunlara ve Yasalara dayalı olan Şirketin şartları ve Kuralları olan Sözleşme yazısının içereği.
ve Bu Sözleşmeyi ps_legalcombilance Faturayla Beraber E-Mail ilede gönderiyor zaten, böylelikle şartlar yerine getirilmiş oluyor.
Türkiyede fazla farklı olduğunu düşünmüyorum.

vor 14 Stunden schrieb balanceofnature:

Bu bahsettiğiniz modülde, ödeme sırasın müşterinin Terms of Service ve Recovation Terms (CMS pages veya Türkçe İYS sayfaları) formlarını okuyup kabul ettiğine dair tik atması gerekiyor. 

Bir üstdeki Yazımdaki Modülü "Offizielles Modul DSGVO-Compliance" Eklersen zaten bu Modül Büyük ve önemli alanları Sözleşmeli olarak kapsıyo.
Fakat Ürün ısmarlarken Form doldurduktan sonra Sözleşmeyide kabul etmesi gerekiyo, Altdaki Resime Bak.
Bu Checkbox'u elinlede benim gibi kendinde ekleyebilirsin.

 

 

1.JPG

Edited by SliderFlash (see edit history)

Share this post


Link to post
Share on other sites
6 hours ago, SliderFlash said:

@balanceofnature

Buna zaten gerek yok çünkü Müşterinin Adı Soyadı ve Adresi Zaten E-Mail ile giden Faturada yazıyo zaten, önemli olan Kanunlara ve Yasalara dayalı olan Şirketin şartları ve Kuralları olan Sözleşme yazısının içereği.
ve Bu Sözleşmeyi ps_legalcombilance Faturayla Beraber E-Mail ilede gönderiyor zaten, böylelikle şartlar yerine getirilmiş oluyor.
Türkiyede fazla farklı olduğunu düşünmüyorum.

Bir üstdeki Yazımdaki Modülü "Offizielles Modul DSGVO-Compliance" Eklersen zaten bu Modül Büyük ve önemli alanları Sözleşmeli olarak kapsıyo.
Fakat Ürün ısmarlarken Form doldurduktan sonra Sözleşmeyide kabul etmesi gerekiyo, Altdaki Resime Bak.
Bu Checkbox'u elinlede benim gibi kendinde ekleyebilirsin.

 

 

1.JPG

 

Merhaba SliderFlash,

Ich akzeptiere die Allgemeinen bölümünün en sonunda Datenschutzrichtlinie yazısı sitemde açık mavi olarak görünmüyor.

Galiba bu yazıya tıklayınca Terms of Service bölümü açılıyor. Bunu nasıl aktive edebilirim?

Fatura ayarları ve faturaları e-mail olarak gönderme ayarları hakkında da yardımlarınızı rica ediyorum.

Share this post


Link to post
Share on other sites
vor 21 Stunden schrieb balanceofnature:

Ich akzeptiere die Allgemeinen bölümünün en sonunda Datenschutzrichtlinie yazısı sitemde açık mavi olarak görünmüyor.

Link olarak eklemen gerek
Örnek: <a href="www.seninSayfan.com.tr/sözleşmenin bulunduğu CMS Sayfası" target="_blank">Sözleşmeyi Kuralları veya şartaları kabul ediyorum</a>

eger baska renk istiyosan mesela kırmızı ozaman böyle yaz, red yada mavi istiyosan blue yaz veya #A8DEDE

Örnek: <a href="www.seninSayfan.com.tr/sözleşmenin bulunduğu CMS Sayfası" style="color:red" target="_blank">Sözleşmeyi Kuralları veya şartaları kabul ediyorum</a>

vor 21 Stunden schrieb balanceofnature:

Fatura ayarları ve faturaları e-mail olarak gönderme ayarları hakkında da yardımlarınızı rica ediyorum.

Fatura zaten otomatikmen gidiyor, yukaridaki ps_legalcombilance Modülü ekledikten ve CMS-Sözleşme sayfasını bağladıktan sonra sözlesmede otomatikmen faturayla Beraber gidiyor zaten, ben Türkiye şartalarını tanımadığım için daha fazla yardımcı olamam ama burdaki arkadaşlardan birine sorarsan san yardım ederler.

Edited by SliderFlash (see edit history)
  • Like 1

Share this post


Link to post
Share on other sites
3 hours ago, SliderFlash said:

Link olarak eklemen gerek
Örnek: <a href="www.seninSayfan.com.tr/sözleşmenin bulunduğu CMS Sayfası" target="_blank">Sözleşmeyi Kuralları veya şartaları kabul ediyorum</a>

eger baska renk istiyosan mesela kırmızı ozaman böyle yaz, red yada mavi istiyosan blue yaz veya #A8DEDE

Örnek: <a href="www.seninSayfan.com.tr/sözleşmenin bulunduğu CMS Sayfası" style="color:red" target="_blank">Sözleşmeyi Kuralları veya şartaları kabul ediyorum</a>

Fatura zaten otomatikmen gidiyor, yukaridaki ps_legalcombilance Modülü ekledikten ve CMS-Sözleşme sayfasını bağladıktan sonra sözlesmede otomatikmen faturayla Beraber gidiyor zaten, ben Türkiye şartalarını tanımadığım için daha fazla yardımcı olamam ama burdaki arkadaşlardan birine sorarsan san yardım ederler.

Limk eklemeyi translations - installed module translations bölümünden mi yaptınız? ***

Diye sormuştum fakar bunun GDPR modülünden değiştirildiğini farkettim, teşekkürler. Danke schön.

Edited by balanceofnature (see edit history)

Share this post


Link to post
Share on other sites
vor 5 Stunden schrieb balanceofnature:

Limk eklemeyi translations - installed module translations bölümünden mi yaptınız? ***

Diye sormuştum fakar bunun GDPR modülünden değiştirildiğini farkettim, teşekkürler. Danke schön.

evet bu Modül DSGVO

 

Edited by SliderFlash (see edit history)
  • Like 1

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...

Important Information

Cookies ensure the smooth running of our services. Using these, you accept the use of cookies. Learn More