Jump to content

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


safa

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
Link to comment
Share on other sites

  • 2 weeks later...

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
Link to comment
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.

Link to comment
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..

Link to comment
Share on other sites

  • 4 weeks later...

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
Link to comment
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..

Link to comment
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
Link to comment
Share on other sites

  • 7 months later...
  • 9 months later...
  • 2 years later...
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
Link to comment
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.

Link to comment
Share on other sites

  • 2 weeks later...
  • 1 month later...

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)
Link to comment
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.

Link to comment
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
Link to comment
Share on other sites

  • 2 weeks later...
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?

Link to comment
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)
Link to comment
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.

Link to comment
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
Link to comment
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)
Link to comment
Share on other sites

  • 9 months later...
  • 1 year later...
  • 3 weeks later...
vor 12 Stunden schrieb ifs-net:

PS_LEGAL....  Türkiyedeki mevzuat için yeterli değil , eposta gönderimi vs değil konu, yapılması gereken dinamik bir formu yani müşteri ve sipariş bilgilerini içerir bir formu müşteriye onaylatmak

Zaten Siparişi ısmarlarken ısmalıyorum Butonuna basarken şartları ve siparişi onaylamış oluyor, bide ücretini verdikten sonra onaylanacak ne kalıyo ?
yada nasıl ?

Link to comment
Share on other sites

1 hour ago, SliderFlash said:

Zaten Siparişi ısmarlarken ısmalıyorum Butonuna basarken şartları ve siparişi onaylamış oluyor, bide ücretini verdikten sonra onaylanacak ne kalıyo ?
yada nasıl ?

Alıcı detayı, satıcı detayı ve sipariş detayının açık bir şekilde onayladığını metnin içinde yazıyor olması gerekiyor 

Link to comment
Share on other sites

9 minutes ago, SliderFlash said:

nezaman olucak bu ? yada bir örnek ver!

Ne zaman olacak değil şu anda böyle zaten yasal mevzuat. Siparişini onaylarken mesafeli satış sözleşmesini onaylaması gerekiyor.

Mesafeli satış sözleşmesi yaz Google a her yerde çıkar. Trendyol.com a bak örnek için 

Link to comment
Share on other sites

sen konuyu yanlış anlamışsın, Trendyol.com'a da baktım orasıda benimki ve dierleri gibi standart kullanıyo,
senin aradığın Modül ps_legalcompliance , Modülün alt kısmında ya cms'e yada email ekleyerek istediğin sözleşmeyi ekleyebilirsin.

Kilavuz: https://www-shopbetreiber-info.translate.goog/prestashop-in-deutschland-betreiben/modul-rechtssicherheit-prestashop-1-7-x/?_x_tr_sl=auto&_x_tr_tl=tr&_x_tr_hl=de

 

MODÜL INDIR: https://github.com/gurkcity/ps_legalcompliance

Screenshot 2022-03-25 112803.jpg

Edited by SliderFlash (see edit history)
Link to comment
Share on other sites

On 3/25/2022 at 1:30 PM, SliderFlash said:

sen konuyu yanlış anlamışsın, Trendyol.com'a da baktım orasıda benimki ve dierleri gibi standart kullanıyo,
senin aradığın Modül ps_legalcompliance , Modülün alt kısmında ya cms'e yada email ekleyerek istediğin sözleşmeyi ekleyebilirsin.

Kilavuz: https://www-shopbetreiber-info.translate.goog/prestashop-in-deutschland-betreiben/modul-rechtssicherheit-prestashop-1-7-x/?_x_tr_sl=auto&_x_tr_tl=tr&_x_tr_hl=de

 

MODÜL INDIR: https://github.com/gurkcity/ps_legalcompliance

Screenshot 2022-03-25 112803.jpg

Sen konuyu hiç anlamamışsın..

Değişkenler ile sözleşme içine alıcı-satıcı bilgileri ve sipariş detayını dinamik olarak ekletmen ve bunu siparişi onaylarken onaylatmam gerekiyor.

Tekrar incele 

Edited by ifs-net (see edit history)
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...