Tutorial: Umsetzung der EU-Verbraucherrichtlinie vom 13.06.2014

Aus Wiki | modified eCommerce Shopsoftware
Zur Navigation springenZur Suche springen

Tutorial: Umsetzung der EU-Verbraucherrichtlinie vom 13.06.2014 für Shopversion 1.06 rev 4642

UPDATE: Jetzt auch als Modul erhältlich: MODUL: Umsetzung der EU-Verbraucherrichtlinie vom 13.06.2014

TEIL - Angaben zur Lieferzeit[Bearbeiten]

Neue Content-Seite anlegen[Bearbeiten]

Lege im Content Manager eine neue Seite an. Der Inhalt soll die genaue Angabe zur Lieferzeit enthalten.

Details dazu zB hier:

http://www.it-recht-kanzlei.de/lieferzeiten-handlungsanleitung-verbraucherrechterichtlinie.html


Dateien bearbeiten[Bearbeiten]

/includes/classes/main.php[Bearbeiten]

suche das hier:

  function getShippingStatusName($id) {
     return isset($this->SHIPPING[$id]['name']) ? $this->SHIPPING[$id]['name'] : '';
  }

ersetze es mit dem hier (bei xx bitte die Sprachgruppe des neu angelegten Contents einfügen):

  function getShippingStatusName($id, $link=false) {
    global $request_type;
    if ($link === false) {
      return (isset($this->SHIPPING[$id]['name']) ? $this->SHIPPING[$id]['name'] : '');
    }
    $content_group = 'xx'; // hier die Group vom neuen Content eintragen
    if (!defined('POPUP_SHIPPING_LINK_PARAMETERS')) {
      define('POPUP_SHIPPING_LINK_PARAMETERS', '&KeepThis=true&TB_iframe=true&height=400&width=600');
    }
    if (!defined('POPUP_SHIPPING_LINK_CLASS')) {
      define('POPUP_SHIPPING_LINK_CLASS', 'thickbox');
    }
    return '<a rel="nofollow" target="_blank" href="'.xtc_href_link(FILENAME_POPUP_CONTENT, 'coID='.$content_group.POPUP_SHIPPING_LINK_PARAMETERS, $request_type).'" title="Information" class="'.POPUP_SHIPPING_LINK_CLASS.'">'.(isset($this->SHIPPING[$id]['name']) ? $this->SHIPPING[$id]['name'] : '').'</a>';
  }

/includes/classes/product.php[Bearbeiten]

suche das hier:

    //get $shipping_status_name, $shipping_status_image
    if (isset($array['products_shippingtime']) && ACTIVATE_SHIPPING_STATUS == 'true') {
      $shipping_status_name = $main->getShippingStatusName($array['products_shippingtime']);
      $shipping_status_image = $main->getShippingStatusImage($array['products_shippingtime']);
    } else {
      $shipping_status_name = '';
      $shipping_status_image = '';
    }

ersetze es mit dem hier:

    //get $shipping_status_name, $shipping_status_image
    $shipping_status_name = $shipping_status_image = $shipping_status_link = '';
    if (isset($array['products_shippingtime']) && ACTIVATE_SHIPPING_STATUS == 'true') {
      $shipping_status_name = $main->getShippingStatusName($array['products_shippingtime']);
      $shipping_status_image = $main->getShippingStatusImage($array['products_shippingtime']);
      $shipping_status_link = $main->getShippingStatusName($array['products_shippingtime'], true);      
    }

such das hier:

        'PRODUCTS_SHIPPING_NAME'=>$shipping_status_name,
        'PRODUCTS_SHIPPING_IMAGE'=>$shipping_status_image,

ersetze es mit dem hier:

        'PRODUCTS_SHIPPING_NAME' => $shipping_status_name,
        'PRODUCTS_SHIPPING_IMAGE' => $shipping_status_image,
        'PRODUCTS_SHIPPING_NAME_LINK' => $shipping_status_link,

/includes/modules/product_info.php[Bearbeiten]

suche das hier:

  //get shippingstatus image and name
  if (ACTIVATE_SHIPPING_STATUS == 'true') {
    $info_smarty->assign('SHIPPING_NAME', $main->getShippingStatusName($product->data['products_shippingtime']));
    $info_smarty->assign('SHIPPING_IMAGE', $main->getShippingStatusImage($product->data['products_shippingtime']));
  }

ersetze es mit dem hier:

  //get shippingstatus image and name
  if (ACTIVATE_SHIPPING_STATUS == 'true') {
    $info_smarty->assign('SHIPPING_NAME', $main->getShippingStatusName($product->data['products_shippingtime']));
    $info_smarty->assign('SHIPPING_IMAGE', $main->getShippingStatusImage($product->data['products_shippingtime']));
    $info_smarty->assign('SHIPPING_NAME_LINK', $main->getShippingStatusName($product->data['products_shippingtime'], true));
  }

Template Dateien ändern[Bearbeiten]

Datei(en) /templates/xtc5/module/product_info/*.html

suche das hier:

			{if $SHIPPING_NAME}<p class="shippingtime"><strong>{#text_shippingtime#}</strong>{if $SHIPPING_IMAGE}<img src="{$SHIPPING_IMAGE}" alt="{$SHIPPING_NAME}" />{/if} {$SHIPPING_NAME}</p>

ersetze es mit dem hier:

			{if $SHIPPING_NAME}<p class="shippingtime"><strong>{#text_shippingtime#}</strong>{if $SHIPPING_IMAGE}<img src="{$SHIPPING_IMAGE}" alt="{$SHIPPING_NAME}" />{/if} {$SHIPPING_NAME_LINK}</p>


Folgende Template Dateien ändern:

/templates/xtc5/module/product_listing/*.html
/templates/xtc5/module/new_products_default.html
/templates/xtc5/module/new_products_overview.html
/templates/xtc5/module/new_products.html
/templates/xtc5/module/specials.html

Bei einem eigenen Template (nicht xtc5) kann es sein, dass aus folgende Dateien bearbeitet werden müssen:

/templates/xtc5/module/also_purchased.html
/templates/xtc5/module/cross_selling.html
/templates/xtc5/module/reverse_cross_selling.html

suche das hier:

		{if $module_data.PRODUCTS_SHIPPING_NAME}<p class="shippingtime">{#text_shippingtime#}{if $module_data.PRODUCTS_SHIPPING_IMAGE}<img src="{$module_data.PRODUCTS_SHIPPING_IMAGE}" alt="{$module_data.PRODUCTS_SHIPPING_NAME}" />{/if}
			{$module_data.PRODUCTS_SHIPPING_NAME}</p>
		{/if}

ersetze es mit dem hier:

		{if $module_data.PRODUCTS_SHIPPING_NAME}<p class="shippingtime">{#text_shippingtime#}{if $module_data.PRODUCTS_SHIPPING_IMAGE}<img src="{$module_data.PRODUCTS_SHIPPING_IMAGE}" alt="{$module_data.PRODUCTS_SHIPPING_NAME}" />{/if}
			{$module_data.PRODUCTS_SHIPPING_NAME_LINK}</p>
		{/if}

TEIL - Musterwiderrufsformular[Bearbeiten]

Erstelle ein PDF nach den neuen gesetzlichen Vorgaben.[Bearbeiten]

Details dazu hier:

http://www.it-recht-kanzlei.de/muster-widerrufsformular-faq.html

PDF verfügbar machen[Bearbeiten]

Lade das PDF in den Ordner „/media/content“

PDF in Bestell E-Mails anhängen[Bearbeiten]

Admin -> „Konfiguration“ -> „E-Mail Optionen“ -> „Verrechnung - E-Mail Anhänge für Bestellungen“ erweitern um: media/content/-Name-des-widerrufsformular.pdf

Neue Content-Seite anlegen[Bearbeiten]

Lege einen neuen Content zum Musterwiderrufsformular an und verlinke die PDF-Datei darin.

Optional elektronisches Widerrufsformular[Bearbeiten]

Wer zusätzlich eines elektronisches Widerrufsformular anbieten möchte, der findet hier das entsprechende Modul: MODUL: Elektronisches Widerrufsformular

Teil - Anzeige der Versandkosten im Warenkorb[Bearbeiten]

Installation des benötigten Moduls[Bearbeiten]

Installiere das folgende Modul: MODUL: Versandkosten im Warenkorb anzeigen mit Länderdropdown

           
anything