Pondělí, 24 Říjen 2016 19:10
Aktualizováno Pátek, 29 Září 2017 06:40
Napsal uživatel Admin22
E-shop musí posílat obchodní podmínky a další informace povinně jako přílohu v e-mailu, odkaz nestačí.
Jde o to dát zákazníkům k dispozici dokumenty:
- obchodní podmínky
- informaci o právu odstoupit od smlouvy
- a volitelně i formulá k odstoupení od smlouvy
Tuto povinnost upravuje nový občanský zákoník od roku 2016 a právo odstoupit od smlouvy od roku 2014
čerpal jsem z url https://www.shoptet.cz/ke-stazeni/
jak na to?
- Vytvořte si podmínky dle vzoru, vizte odkaz nahoře shoptet nebo odkazy na místí soubory
- z techto generujete pdf soubor
- ten zavěste do FTP webshopu
- proveďte úpravu ve zdrojovém kódu e-shopu
- JoomShopping Version 2.9.7
do souboru /componants/com_jshopping/controllers/checkout.php
za oblast
<strong>
</strong>//send mail client
$mailer =& JFactory::getMailer();
$mailer->setSender(array($mailfrom, $fromname));
$mailer->addRecipient($order->email);
$mailer->setSubject( sprintf(_JSHOP_NEW_ORDER, $order->order_number, $order->f_name." ".$order->l_name));
$mailer->setBody($message_client);
if ($jshopConfig->order_send_pdf_client){
$mailer->addAttachment($jshopConfig->pdf_orders_path."/".$order->pdf_file);
}
vložit
$mailer->addAttachment('obchodni-podminky-2016-jatop-topolycz.pdf');
$mailer->addAttachment('pravo-odstoupit-od-smlouvy-2016.pdf');
$mailer->addAttachment('formular-pro-odstoupeni-od-smlouvy-2016-jatop-topolycz.pdf');
- Presta shop 1.5
- pomocí modulu E-mailové přílohy - Ver.1.6_0110
- PrestaShop 1.6
v souboru /classes/Mail.php
před kod
/* Send mail */
$send = $swift->send($message, $to, new Swift_Address($from, $from_name));
$swift->disconnect();
vložit
// tcl <a href="http://forum.c4.cz/post17796.html#p17796">http://forum.c4.cz/post17796.html#p17796</a>
if ($template == 'cs/order_conf') {
$message->attach(new Swift_Message_Attachment(file_get_contents("obchodni-podminky-2016.pdf"), "obchodni-podminky-2016.pdf", "application/pdf"));
$message->attach(new Swift_Message_Attachment(file_get_contents("pravo-odstoupit-od-smlouvy-2016.pdf"), "pravo-odstoupit-od-smlouvy-2016.pdf", "application/pdf"));
$message->attach(new Swift_Message_Attachment(file_get_contents("formular-pro-odstoupeni-od-smlouvy-2016.pdf"), "formular-pro-odstoupeni-od-smlouvy-2016.pdf", "application/pdf"));
$message->attach(new Swift_Message_Attachment(file_get_contents("prodejny-2016.pdf"), "prodejny-2016.pdf", "application/pdf"));
}
v presta 1.6.1
před kod
/* Send mail */
$message->setFrom(array($from => $from_name));
$send = $swift->send($message);
vložit
// tcl <a href="http://forum.c4.cz/post17796.html#p17796"><a href="http://forum.c4.cz/post17796.html#p17796</a>">http://forum.c4.cz/post17796.html#p17796</a></a>
if ($template== 'order_conf') { // == 'cs/order_conf'
$message->attach(Swift_Attachment::newInstance()->setFilename('obchodni-podminky.pdf')->setContentType('application/pdf')->setBody(file_get_contents(_PS_ROOT_DIR_.'/obchodni-podminky.pdf')));
$message->attach(Swift_Attachment::newInstance()->setFilename('pravo-odst-od-smlouvy.pdf')->setContentType('application/pdf')->setBody(file_get_contents(_PS_ROOT_DIR_.'/pravo-odst-od-smlouvy.pdf')));
$message->attach(Swift_Attachment::newInstance()->setFilename('form-odst-od-smlouvy.pdf')->setContentType('application/pdf')->setBody(file_get_contents(_PS_ROOT_DIR_.'/form-odst-od-smlouvy.pdf')));
}
Dále již dříve povinné náležitosti
- daňový doklad úprava faktury Joomshopping 2.9 Joomla 1.5
- v souboru /components/com_jshopping/lib/generete_pdf_order.php
doplněnny náležitosti Jako prodávající, kupující, ič, dič, DUZP, DPH, hlaička a do patičky číslování, dokad označen jako Faktura - Daňový doklad
řešení záhlaví a zápatí
class MYPDF extends TCPDF{
function addNewPage(){
$this->addPage();
$this->addTitleHead();
$this->addFooter();//tcl
}
function addTitleHead(){
$jshopConfig = &JSFactory::getConfig();
$vendorinfo = $this->_vendorinfo;
$this->Image($jshopConfig->path . '/images/header.jpg',1,1,$jshopConfig->pdf_header_width,$jshopConfig->pdf_header_height);
$this->Image($jshopConfig->path . '/images/footer.jpg',1,265,$jshopConfig->pdf_footer_width,$jshopConfig->pdf_footer_height);
//zahlavi
$this->SetFont('freesans','',8);
$this->SetXY(40,12);
$this->SetTextColor(155,155,155);
$_vendor_info = array();
$_vendor_info[] = $vendorinfo->company_name;
$_vendor_info[] = $vendorinfo->adress ;
$_vendor_info[] = $vendorinfo->zip . " " . $vendorinfo->city ;
if ($vendorinfo->phone) $_vendor_info[] = _JSHOP_CONTACT_PHONE . ": " . $vendorinfo->phone;
if ($vendorinfo->fax) $_vendor_info[] = _JSHOP_CONTACT_FAX . ": " . $vendorinfo->fax;
if ($vendorinfo->email) $_vendor_info[] = _JSHOP_EMAIL . ": " . $vendorinfo->email;
$str_vendor_info = implode(", ",$_vendor_info);
$this->MultiCell(150, 3, $str_vendor_info, 0, 'R');
$this->SetTextColor(0,0,0);
}
//zapati
function addFooter()
{ //<a href="http://www.fpdf.org/en/doc/aliasnbpages.htm">http://www.fpdf.org/en/doc/aliasnbpages.htm</a>
// Go to 1.5 cm from bottom
$this->SetY(-32);
// Select Arial italic 8
$this->SetTextColor(155,155,155);
$this->SetFont('freesans','',8);
// Print current and total page numbers
$this->Cell(0,10, $this->PageNo().'/{nb}',0,0,'C');
$this->SetTextColor(0,0,0);
}
function addFooter2()
{ //<a href="http://www.fpdf.org/en/doc/footer.htm">http://www.fpdf.org/en/doc/footer.htm</a>
// Go to 1.5 cm from bottom
$this->SetY(-15);
// Select Arial italic 8
$this->SetFont('freesans','',8);
// Print centered page number
$this->Cell(0,10,'Page '.$this->PageNo(),0,0,'C');
//PageNo - page number
// AliasNbPages - define an alias for number of pages
}
}
function generatePDF($order){
$jshopConfig = &JSFactory::getConfig();
$vendorinfo = $order->getVendorInfo();
$pdf = new MYPDF();
$pdf->AliasNbPages(); //tcl
$pdf->_vendorinfo = $vendorinfo;
$pdf->SetFont('freesans','',8);
$pdf->setPrintHeader(false);
$pdf->setPrintFooter(false);
$pdf->SetMargins(0, 0, 0);
$pdf->addNewPage();
...
}
další úpravy ke zlepšení
úpravy v souborech
/template/design/html/com_contact/default.php h2 kontakt
/templates/design/html/com_contact/contact/default_address.php
/components/com_jshopping/controllers/checkout.php
řazení ve frontendu podle nastaveného v administraci nefungovalo
/components/com_jshopping/templates/default/checkout/shippings.php
//tcl
// Comparison function
//<a>http://stackoverflow.com/a/4282423</a>
//<a>http://stackoverflow.com/questions/4282413/sort-array-of-objects-by-object-fields?answertab=active#tab-top</a>
function cmp($a, $b)
{ return strcmp($a->shipping_ordering, $b->shipping_ordering);}
//tcl razeni dopravcu
uasort($this->shipping_methods,'cmp');
/components/com_jshopping/templates/default/order/order.php umisteni objednavka zrušena a stáhnout fakturu
uprava linku na produkty , přepsání semi SEO url na číselnou
<div class="buttons">
<?php if ($product->buy_link){?>
<a href="/<?php print str_replace('/component/jshopping/','/nabidka/',$product->buy_link)?>"><?php print _JSHOP_BUY?></a>
<?php }?>
<a href="/<?php print str_replace('/component/jshopping/','/nabidka/',$product->product_link)?>"><?php print _JSHOP_DETAIL?></a>
</div>
/components/com_jshopping/templates/default/category/mainpage.php - podobne
/components/com_jshopping/templates/default/category/category_default.php - podobne
zde je definovan stav kdyz user da zrusit objednavku, jako $c_payment_status_for_cancel_client = 3; v
/components/com_jshopping/lib/static_config.php
změny zobrazení adresy a podminky bez javaskriptu
v /components/com_jshopping/templates/default/checkout/previewfinish.php
/components/com_jshopping/controllers/checkout.php - nic
úpravy v zápatí potvrzujícího e-mailu z e-shopu, zrušení objednávky, podmínky
/components/com_jshopping/templates/default/checkout/orderemail.php
neuspesny pokus spustitt generovani pri zmene stavu
vkladani na ruzna mista save() oreder() v
/components/com_jshopping/controllers/user.php a
/components/com_jshopping/controllers/orderstatus.php
/components/com_jshopping/lang/cs-CZ.php
/components/com_jshopping/controllers/checkout.php-nic
malé úpravy
/components/com_jshopping/templates/default/checkout/previewfinish.php
/templates/design/css/style.css - rámečky tabulky, adresa
/components/com_jshopping/css/default.css - adresa v poslednim kroku order, hmotnost pod objednavkou
sitemapgenerator
joomla plugin include module