zákonné podminky e-shopu | pc-software

zákonné podminky e-shopu

Hodnocení uživatelů: / 0
NejhoršíNejlepší 

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?

  1. Vytvořte si podmínky dle vzoru, vizte odkaz nahoře shoptet nebo odkazy na místí soubory
  2. z techto generujete pdf soubor
  3. ten zavěste do FTP webshopu
  4. proveďte úpravu ve zdrojovém kódu e-shopu
  1. 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');    
    


  2. Presta shop 1.5
    • pomocí modulu E-mailové přílohy - Ver.1.6_0110
  3. 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> &nbsp;
                                <?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