Tutorial: Template eines xt:Commerce Shops in der modified eCommerce Shopsoftware weiter verwenden

Aus Wiki | modified eCommerce Shopsoftware
Zur Navigation springenZur Suche springen

Anleitung: Wie passe ich mein altes xt:Commerce* 3.0.4 SP2.1 Template für modified eCommerce Shopsoftware an?


zwingend notwendig = diese Änderungen sind für die korrekte Funktionsweise des Shops unbedingt durchzuführen.

optional = diese Änderungen können durchgeführt werden, sind aber für die korrekte Funktion nicht zwingend notwendig.


Die folgenden Änderungen sind für alle xt:Commerce*-Templates oder ältere modified eCommerce Shopsoftware-Templates durchzuführen, um wieder unter der aktuellen modified eCommerce Shopsoftware zu funktionieren:


Änderungen ab Version 1.0.0-1.0.3[Bearbeiten]

Datenschutzerklärung bestätigen[Bearbeiten]

  • zwingend notwendig in
/templates/TEMPLATENAME/module/create_account.html
/templates/TEMPLATENAME/module/create_account_guest.html

An gewünschter Stelle einfügen:

 {if $PRIVACY_CHECKBOX}
   <div>{$PRIVACY_CHECKBOX}{#text_privacy_accept#} {$PRIVACY_LINK}</div>
 {/if}

Bestätigungsfeld für die E-Mail Adresse[Bearbeiten]

  • zwingend notwendig in
/templates/TEMPLATENAME/module/create_account.html
/templates/TEMPLATENAME/module/create_account_guest.html
/templates/TEMPLATENAME/module/account_edit.html

Um die E-Mail Adresse ein 2. Mal bestätigen zu lassen

Suche:

 <tr>
   <td>{#text_email#}</td>
   <td>{$INPUT_EMAIL}</td>
 </tr>

Füge danach ein:

 <tr>
   <td>{#text_confirm_email#}</td>
   <td>{$INPUT_CONFIRM_EMAIL}</td>
 </tr>

CAPTCHA-Feld im Kontaktformular[Bearbeiten]

  • zwingend notwendig in
/templates/TEMPLATENAME/module/contact_us.html

Als erste Zeile in der Datei folgendes einfügen:

 {config_load file="$language/lang_$language.conf" section="newsletter"}

An gewünschter Stelle einfügen:

 <tr>
     <td width="30%" class="boxTextBG"><div align="right">{#text_sec_code#}</div></td>
     <td width="70%" class="main">{$VVIMG}</td>
 </tr>
 <tr>
     <td width="30%" class="boxTextBG"><div align="right">{#text_inp_code#}</div></td>
     <td width="70%" class="main">{$INPUT_CODE}</td>
 </tr>

JQUERY-Popup für Produktbilder und Versandkostenlink[Bearbeiten]

  • zwingend notwendig in
/templates/TEMPLATENAME/javascript/general.js.php

Dateien thickbox.css, jquery.js, thickbox.js und macFFBgHack.png aus dem Originaltemplate (xtc5) kopieren nicht vergessen (!)

 <link rel="stylesheet" href="<?php echo 'templates/'.CURRENT_TEMPLATE; ?>/javascript/thickbox.css" type="text/css" media="screen" />
 <?php //load jQuery default library jquery.js from faster Google CDN
 /*<script src="<?php echo 'templates/'.CURRENT_TEMPLATE; ?>/javascript/jquery.js" type="text/javascript"></script>*/ ?>
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js" type="text/javascript"></script>
 <script src="<?php echo 'templates/'.CURRENT_TEMPLATE; ?>/javascript/thickbox.js" type="text/javascript"></script>
  • zwingend notwendig in
/templates/TEMPLATENAME/module/product_info/product_info_*.html
 <a title="{$PRODUCTS_NAME}" href="{$PRODUCTS_IMAGE|replace:"info_images":"popup_images"}" class="thickbox" rel="{$PRODUCTS_ID}">
<img src="{$PRODUCTS_IMAGE}" alt="{$PRODUCTS_NAME}" class="productimage" />{if $PRODUCTS_POPUP_LINK!=''}<br/>{#text_zoom#}{/if}</a>
  • zwingend notwendig in
/templates/TEMPLATENAME/source/boxes/shopping_cart.php
 $box_smarty->assign('SHIPPING_INFO',$main->getShippingLink()); //web28 - 2012-05-03 - use main function

Nicht mehr vorhandene Funktion 'xtc_session_is_registered' ersetzen[Bearbeiten]

  • zwingend notwendig in
/templates/TEMPLATENAME/source/boxes/loginbox.php

Suche:

 if (!xtc_session_is_registered('customer_id')) {

Ersetze mit:

 if (!isset($_SESSION['customer_id'])) {

Anpassung des AGB-Anzeigefeldes[Bearbeiten]

  • zwingend notwendig in
/templates/TEMPLATENAME/stylesheet.css

Füge am Ende der Datei ein:

 div.agbframe {
    width:100%;
    height:200px;
    overflow:auto;
    padding:10px;
    background:url(img/input_bg.gif) no-repeat;
    border:1px solid #666;
 }

Mehrere Produktbilder bei der Produktansicht[Bearbeiten]

  • optional in
/templates/TEMPLATENAME/module/product_info/product_info_*.html

Zusätzlich notwendig um mehrere Produktbilder auch beim Ausdruck zu berücksichtigen:

Suche:

 {if $PRODUCTS_IMAGE_1 != ''} [...]
 {if $PRODUCTS_IMAGE_3 != ''} usw...

Ersetze mit:

 {if $more_images|@count > 0}
  <!-- More Pictures -->
    <div class="morepics">
    {foreach item=more_images_data from=$more_images}
      <a class="thickbox" rel="{$PRODUCTS_ID}" title="{$PRODUCTS_NAME}" href="{$more_images_data.PRODUCTS_IMAGE|replace:"info_images":"popup_images"}">
      <img src="{$more_images_data.PRODUCTS_IMAGE}" alt="{$PRODUCTS_NAME}" /></a>
    {/foreach}
    <div style="clear:both;"></div>
  </div>
 {/if}
/templates/TEMPLATENAME/module/print_product_info.html 

zusätzlich notwendig um mehrere Produktbilder auch beim Ausdruck zu berücksichtigen:

Suche:

 {if $PRODUCTS_IMAGE_1 != ''} [...]
 {if $PRODUCTS_IMAGE_3 != ''} usw...

Ersetze mit:

{foreach item=more_images_data from=$more_images} 
  <div class="hrlightgrey"></div><img src="{$more_images_data.PRODUCTS_IMAGE}" alt="{$module_data.NAME}" border="0" class="productimage"/>
{/foreach}

Anzeige der VPE-Infos bei den Bestsellers[Bearbeiten]

  • optional in
/templates/TEMPLATENAME/boxes/box_best_sellers.html
 <div class="bestSellersPrice">
   {$box_data.PRODUCTS_PRICE}<br />
   {if $box_data.PRODUCTS_VPE}{$box_data.PRODUCTS_VPE}<br />{/if}
   {$box_data.PRODUCTS_TAX_INFO}<br />
   {$box_data.PRODUCTS_SHIPPING_LINK}<br /> 
 </div>
 
 {if $box_data.PRODUCTS_IMAGE}
   <div class="bestSellerImage">
     <a href="{$box_data.PRODUCTS_LINK}"><img src="{$box_data.PRODUCTS_IMAGE}" alt="{$box_data.PRODUCTS_NAME}" /></a>
   </div>
 {/if}

Keine Checkoutboxen[Bearbeiten]

  • optional in
/templates/TEMPLATENAME/index.html 
{if !strstr ($smarty.server.PHP_SELF, 'checkout')}
  [QUELLTEXT - ist etwas komplexer und hängt vom Templateaufbau ab]
{/if}

Löschen Button im Template[Bearbeiten]

Änderungen siehe https://trac.modified-shop.org/changeset/232/


Kunde erlauben, sein eigenes Konto zu löschen[Bearbeiten]

  • optional in
/templates/TEMPLATENAME/module/account.html

Suche:

 <li><a href="{$LINK_PASSWORD}"><strong>{#text_password#}</strong></a></li>

Füge danach ein:

 {if $LINK_DELETE}
   <li><a href="{$LINK_DELETE}"><strong>{#text_delete#}</strong></a></li>
 {/if}

Die Datei

/templates/xtc5/module/account_delete.html 

in den eigenen Templateordner kopieren


htaccess-Umleitung für SEO-friendly URLs / doppelten Content vermeiden[Bearbeiten]

  • optional

Die Datei /templates/xtc5/source/inc/gunnart_productRedirect.inc.php in den eigenen Templateordner kopieren

/templates/TEMPLATENAME/source/boxes.php

Füge am Anfang der Datei ein:

require_once (DIR_FS_CATALOG . 'templates/' . CURRENT_TEMPLATE . '/source/inc/gunnart_productRedirect.inc.php');

Änderungen ab Version 1.0.4[Bearbeiten]

CSS am Seitenanfang und Javascript am Seitenende laden[Bearbeiten]

  • optional

neue Datei

/templates/TEMPLATENAME/css/general.css.php

erstellen und mit den CSS-Dateien für die Stile füllen (siehe xtc5-Template)

In der Datei

/templates/TEMPLATENAME/javascript/general.js.php

die CSS-Stile dafür entfernen.

(Hintergrund: Für einen schnelleren Seitenaufbau wird general.css.php nun am Anfang geladen und die Datei general.js.php erst am Ende)


Anzeige einer Verlaufszeile 'x von y Produkten'[Bearbeiten]

  • optional in
/templates/TEMPLATENAME/module/product_navigator.html

Suche:

 <strong>{$PRODUCTS_COUNT}</strong>&nbsp;{#total#}

Ersetze mit:

 {#product#}&nbsp;<strong>{$ACTUAL_PRODUCT}&nbsp;{#of#}&nbsp;{$PRODUCTS_COUNT}</strong>&nbsp;{#total#}

PayPal-IPN Link-Anpassung[Bearbeiten]

  • zwingend notwendig in
/templates/TEMPLATENAME/module/account_history_info.html

Suche:

 <div class="hr"></div>
 <p>{$TOTAL_BLOCK}</p>

Ersetze mit:

 <div class="hr"></div>
 {if $PAYPAL_LINK}
 <p><div style="padding:5px;">{$PAYPAL_LINK}</div></p>
 {/if}
 <p>{$TOTAL_BLOCK}</p>
  • zwingend notwendig in
/templates/TEMPLATENAME/module/checkout_success.html

Suche:

 {if $GV_SEND_LINK}
 <p>{#gv_has_vouchera#} {$GV_SEND_LINK} {#gv_has_voucherb#}</p>
 {/if}
 <p>{$BUTTON_PRINT}&nbsp;{$BUTTON_CONTINUE}</p>

Ersetze mit:

 {if $GV_SEND_LINK}
 <p>{#gv_has_vouchera#} {$GV_SEND_LINK} {#gv_has_voucherb#}</p>
 {/if}
 {if $PAYPAL_LINK}
 <p><div style="background: #f2f2f2; color: #ffffff; padding:5px; border: 2px solid #496686">{$PAYPAL_LINK}</div></p>
 {/if}
 <p>{$BUTTON_PRINT}&nbsp;{$BUTTON_CONTINUE}</p>

Eigene Überschrift bei Gastkonten[Bearbeiten]

  • optional in
/templates/TEMPLATENAME/module/create_account_guest.html

Suche:

 <h1>{#heading_create_account#}</h1>

Ersetze mit:

 <h1>{#heading_create_guest_account#}</h1>

Signatur und Widerruf als E-Mail Anhang[Bearbeiten]

  • zwingend notwendig

E-Mail Widerruf: Aus dem original xtc5 Template sind die folgenden Dateien ins eigene Template in die selben Ordner zu kopieren und/oder anzupassen:

/templates/xtc5/mail/german/widerruf.txt (Wird ab Version 1.06 rev 4642 aus dem Content Manager bezogen)
/templates/xtc5/mail/german/widerruf.html (Wird ab Version 1.06 rev 4642 aus dem Content Manager bezogen)
/templates/xtc5/mail/german/order_mail.txt
/templates/xtc5/mail/german/order_mail.html
/templates/xtc5/mail/english/widerruf.html (Wird ab Version 1.06 rev 4642 aus dem Content Manager bezogen)
/templates/xtc5/mail/english/widerruf.txt (Wird ab Version 1.06 rev 4642 aus dem Content Manager bezogen)
/templates/xtc5/mail/english/order_mail.txt
/templates/xtc5/mail/english/order_mail.html
/templates/xtc5/mail/german/signatur.txt
/templates/xtc5/mail/german/signatur.html
/templates/xtc5/mail/english/signatur.txt
/templates/xtc5/mail/english/signatur.html
/templates/xtc5/module/account_delete.html
/templates/xtc5/module/error_handler.html
/templates/xtc5/module/google_sitemap.html

Änderungen ab Version 1.0.5[Bearbeiten]

Shop online/offline Modus[Bearbeiten]

  • zwingend notwendig

Aus dem original xtc5 Template sind die folgenden Dateien ins eigene Template in die selben Ordner zu kopieren und/oder anzupassen:

/templates/xtc5/offline.html

Button "Einkauf fortsetzen" im Warenkorb anzeigen[Bearbeiten]

  • optional in
/templates/TEMPLATENAME/module/shopping_cart.html

Der folgende Abschnitt ist ab modified eCommerce Shopsoftware 1.06 nicht mehr im Template nötig!

Suche:

 {config_load file="$language/lang_$language.conf" section="shopping_cart"}

Füge danach ein:

 {php}
 global $breadcrumb, $cPath_array, $actual_products_id;
 if(!empty($cPath_array)) {
     $this->assign('CONTINUE_NAME',$breadcrumb->_trail[count($breadcrumb->_trail)-2]['title']);
     $this->assign('CONTINUE_LINK',$breadcrumb->_trail[count($breadcrumb->_trail)-2]['link']);
     $ct_shopping = $breadcrumb->_trail[count($breadcrumb->_trail)-2]['link'];
 }
 if(!empty($actual_products_id)) {
     $this->assign('CONTINUE_NAME',$breadcrumb->_trail[count($breadcrumb->_trail)-2]['title']);
     $this->assign('CONTINUE_LINK',$breadcrumb->_trail[count($breadcrumb->_trail)-2]['link']);
     $ct_shopping = $breadcrumb->_trail[count($breadcrumb->_trail)-2]['link'];
 }
 if(!empty($ct_shopping)) $_SESSION['continue_link'] = $ct_shopping;
 if(!empty($_SESSION['continue_link'])) $this->assign('CONTINUE_LINK',$_SESSION['continue_link']);
 $this->assign('BUTTON_CONTINUE_SHOPPING', xtc_image_button('button_continue_shopping.gif', IMAGE_BUTTON_CONTINUE_SHOPPING));
 {/php}

Dieser Abschnitt ist auch ab modified eCommerce Shopsoftware 1.06 im Template zusätzlich nötig!

Suche:

  <p>{$FORM_END}{/if}

Füge davor ein:

 <p>{if $CONTINUE_LINK}<a href="{$CONTINUE_LINK}">{$BUTTON_CONTINUE_SHOPPING}</a>&nbsp;&nbsp;&nbsp;{/if}{$BUTTON_RELOAD}&nbsp;{$BUTTON_CHECKOUT}</p>

Navigation auch an oberen Rand der Produktübersicht anzeigen[Bearbeiten]

  • optional in
/templates/TEMPLATENAME/module/product_listing/product_listing_v1.html

Suche:

 <div class="hrproductpreview"></div>
 {foreach name=aussen item=module_data from=$module_content}

Füge davor ein:

 {$NAVIGATION}

Änderungen ab Version 1.0.5 SP1[Bearbeiten]

Button zum Ausdrucken der checkout_success ändern[Bearbeiten]

  • zwingend notwendig in
/templates/TEMPLATENAME/module/checkout_success.html

Suche:

{$FORM_ACTION}

Ersetze mit:

{*$FORM_ACTION*}

Suche:

<p>{$BUTTON_PRINT}&nbsp;{$BUTTON_CONTINUE}</p>

Ersetze mit:

{$FORM_ACTION_PRINT}
<div style="float:left;">{$BUTTON_PRINT}</div>
{$FORM_END}
{$FORM_ACTION}
<div style="float:left; padding-left:5px;">{$BUTTON_CONTINUE}</div>
<div style="clear:left;"></div>

Änderungen ab Version 1.0.6[Bearbeiten]

Links von print_product_info nicht von Suchmaschinen indizieren lassen[Bearbeiten]

  • optional in
/templates/TEMPLATENAME/module/print_product_info.html

Suche:

<meta http-equiv="Content-Style-Type" content="text/css" />

Füge danach ein:

{if $CanonicalLink}
  <link href="{$CanonicalLink}" rel="canonical" />
{/if}

Generelle Templateverbesserungen für eine zukünftige Aktualisierung von Smarty 2.x auf Smarty 3.x[Bearbeiten]

  • optional

Anpassung der Datei shopping_cart.html im Verzeichnis: /templates/TEMPLATENAME/modules/ ab ca. Zeile 3 ‐ 18, den kompletten PHP‐Code inkl. {php} und {/php} löschen!

  • optional

Korrektur der Template‐Datei index.html im Verzeichnis: /templates/TEMPLATENAME/

Suche:

strstr ($smarty…

(-> hier befindet sich ein Leerzeichen zwischen der PHP‐Funktion "strstr" und der geöffneten Klammer!)

Ersetze mit:

strstr($smarty…

Korrektur der Template‐Datei box_cart.html im Verzeichnis: /templates/TEMPLATENAME/boxes/

Suche:

<div{if $GV_AMOUNT =='' }

(-> auch hier befindet sich ein Leerzeichen, diesmal vor der schliessenden Smarty‐Klammer!)

Ersetze mit:

<div{if $GV_AMOUNT ==''}

Korrektur der Template‐Datei multi_options_1.html im Verzeichnis: /templates/TEMPLATENAME/module/product_options/

Suche:

{if $item_data.PRICE !='' }

(-> auch hier befindet sich ein Leerzeichen, diesmal vor der schliessenden Smarty‐Klammer!)

Ersetze mit:

{if $item_data.PRICE !=''}

Korrektur der Template‐Datei product_options_dropdown.html im Verzeichnis: /templates/TEMPLATENAME/module/product_options/

Suche:

{if $item_data.PRICE !='' }

(-> auch hier befindet sich ein Leerzeichen, diesmal vor der schliessenden Smarty‐Klammer!)

Ersetze mit:

{if $item_data.PRICE !=''}

Korrektur der Template‐Datei account.html im Verzeichnis: /templates/TEMPLATENAME/module/

Suche:

{foreach name=history_products item=products_history from=$products_history} 
<li><a href="{$products_history.PRODUCTS_LINK}">{$products_history.PRODUCTS_NAME} / {$products_history.PRODUCTS_PRICE}</a></li> 
{/foreach}

(-> Smarty3 stört sich hier am gleichlautenden Namen "item=products_history", wie die Variable $products_history)

Ersetze mit:

{foreach name=history_products item=prod_history_data from=$products_history} 
<li><a href="{$prod_history_data.PRODUCTS_LINK}">{$prod_history_data.PRODUCTS_NAME} / {$prod_history_data.PRODUCTS_PRICE}</a></li> 
{/foreach}

Korrekte Ausgabe von Fehlermeldungen beim Gutscheinversand[Bearbeiten]

  • zwingend notwendig in
/templates/TEMPLATENAME/module/gv_send.html

Suche:

{$FORM_ACTION}

Füge danach ein:

{if $error!=''}<div class="errormessage">{$error}</div>{/if}

Das Auslaufdatum bei Sonderangeboten anzeigen[Bearbeiten]

  • optional in
/templates/TEMPLATENAME/module/product_info/product_info_*.html

An gewünschter Stelle einfügen:

{if $PRODUCTS_EXPIRES}<p>{#text_expires_date#} {$PRODUCTS_EXPIRES}</p>{/if}
/templates/TEMPLATENAME/module/specials.html

An gewünschter Stelle einfügen:

{if $module_data.PRODUCTS_EXPIRES != '0000-00-00 00:00:00'}<p>{#text_expires_date#} {$module_data.PRODUCTS_EXPIRES|date_format:"%x"}</p>{/if}

Auf der Rechnung und dem Lieferschein die Bezeichnung anzeigen[Bearbeiten]

Druckt man in der Administration eine Rechnung oder einen Lieferschein, fehlt die Bezeichnung "Rechnung" bzw. "Lieferschein" auf dem Ausdruck

  • optional in
/templates/TEMPLATENAME/admin/print_order.html

An gewünschter Stelle einfügen:

{#invoice#}
/templates/TEMPLATENAME/admin/print_packingslip.html

An gewünschter Stelle einfügen:

{#packingslip#}
/lang/german/lang_german.conf

Suche:

[print_order]

Füge danach ein:

invoice = 'Rechnung'
packingslip = 'Lieferschein'
/lang/english/lang_english.conf

Suche:

[print_order]

Füge danach ein:

invoice = 'Invoice'
packingslip = 'Packing slip'

Bugfix: Keine Anzeige von Unterkategorien, wenn Kategorie Produkte enthält[Bearbeiten]

Wenn man Produkte direkt zu Hauptkategorien zugeordnet hat, wird die Liste der Unterkategorien nicht angezeigt. Der Bugfix in den Changesets behebt das Problem

  • optional

Changeset https://trac.modified-shop.org/changeset/2284/

Changeset https://trac.modified-shop.org/changeset/2307/

anwenden

Falls Kategorie keine Produkte enthält dann auf jeden Fall diese Anleitung vervollständigen um Produkte in Kategorien anzuzeigen.

http://www.modified-shop.org/wiki/Neue_Artikel_Startseite_einblenden_ohne_Top


Änderung bezüglich der Buttonlösung[Bearbeiten]

  • zwingend notwendig

Aus dem original xtc5 Template sind die folgenden Dateien ins eigene Template in die selben Ordner zu kopieren und/oder anzupassen:

/templates/xtc5/stylesheet.css
/templates/xtc5/img/external.gif
/templates/xtc5/mail/german/order_mail.txt
/templates/xtc5/mail/german/order_mail.html
/templates/xtc5/mail/english/order_mail.txt
/templates/xtc5/mail/english/order_mail.html
/templates/xtc5/module/checkout_confirmation.html
/templates/xtc5/module/print_product_info.html

Alternativ können die Dateien auch manuell wie folgt ergänzt werden:

/templates/TEMPLATENAME/mail/SPRACHE/order_mail.txt

Suche:

[SIGNATUR]

Füge davor ein:

{if $DELIVERY_DUTY_INFO neq ''}

----------------------------------------------------------------------
{$smarty.const.TEXT_DUTY_INFO}
----------------------------------------------------------------------{/if}
/templates/TEMPLATENAME/mail/SPRACHE/order_mail.html

Suche:

[SIGNATUR]

Füge davor ein:

{if $DELIVERY_DUTY_INFO neq ''}
<br />
<table style="border:1px solid #a3a3a3;" width="100%" border="0" cellpadding="3" cellspacing="0">
  <tr>
    <td><font size="1" face="Arial, Helvetica, sans-serif">{#text_duty_info#}</font></td>
  </tr>
</table>
<br />
{/if}
/templates/xtc5/module/checkout_confirmation.html

Die Änderungen an dieser Datei sind zu komplex. Bitte den Inhalt der Datei /templates/xtc5/module/checkout_confirmation.html in das eigene Template übernehmen.

/templates/TEMPLATENAME/module/print_product_info.html

Suche:

<body class="popupproductinfo" onload="window.print()">

Ersetze mit:

<body class="popupproductinfo" {if !$noprint} onload="window.print()"{/if}>

Die folgende Datei wie folgt bearbeiten:

/templates/TEMPLATENAME/stylesheet.css

Füge am Ende der Datei ein:

/*address block */
div#address_block div.address{
width: 260px;
float:left;
height:140px;
padding:5px; 
margin:0 15px 15px 0;
border: solid 1px #a3a3a3;
background:#F8F8F8;
}
div#address_block input{
vertical-align: middle;
}

/*new checkout*/
div.checkout_infos{
width:940px;
border: 0px solid red;
}
div.checkout_infos h2{
font-family: Arial, Sans-serif;
color:#333; /*#1e3630;*/
font-weight:bold;
font-size:15px;
margin: 0px;
float:left;
}
div.checkout_infos a{
font-style:italic;
color:#009933; /*#1e3630;*/
}
div.checkout_infos div.text,p.text{
margin-top:0px;
}
div#address_block div.address{
width: 260px;
float:left;
height:140px;
padding:5px; 
margin:0 15px 15px 0;
border: solid 1px #a3a3a3;
background:#F8F8F8;
}
div#address_block input{
vertical-align: middle;
}
div.checkoutInfoBoxes{
width:435px;
border: 0px solid #a3a3a3;
padding:5px;
margin-right:20px;
float:left;
}
div.checkoutInfoBoxes  a.more_info{
color: red!important;
}
div.checkoutNavBoxes{
width:435px;
border: 1px solid #a3a3a3;
/*background:#F8F8F8;*/
padding:5px;
margin-right:20px;
float:left;
height:120px;
}
div.checkoutNav2Boxes{
width:435px;
border: 1px solid #a3a3a3;
padding:5px;
margin-right:20px;
min-height: 70px;
float:left;
}
div.checkoutbox{
border: 2px solid #999!important;
background: #E3F4DA!important; /*diese Farbe muss sich erheblich abheben*/
}
div.checkoutbox .image{
max-width:80px;
}
div.checkoutbox td.main_row {
border-top: 1px solid #666;
}
div.checkoutbox div.hr{
border:none;
border-top: 1px solid #666;
color: #E3F4DA; /*wie hintergrundfarbe*/
background-color:#E3F4DA; /*wie hintergrundfarbe*/
height: 1px;
}
div.checkoutbox .details{
padding: 0 12px 0 0; 
background: url(img/external.gif) no-repeat 100% 0px;
color: #000;
font-weight: bold;
}
div.checkoutbox .total table td {
padding:0px;
}
div.checkoutbox .small{
font-size: 11px;
}

Update für PayPal Express Checkout[Bearbeiten]

  • optional

Ersetze die folgende Datei aus dem modified eCommerce Shopsoftware 1.06 Template (xtc5) in deinem eigenen Template an gleicher Stelle:

/templates/TEMPLATENAME/module/checkout_paypal.html

Die folgende Datei wie folgt bearbeiten:

/templates/TEMPLATENAME/module/shopping_cart.html

Suche:

{$BUTTON_CHECKOUT}

Ersetze mit:

{$BUTTON_CHECKOUT}{if $BUTTON_PAYPAL != ''}<br />{$BUTTON_PAYPAL}{/if}

Update für Sofort Gateway Zahlungsmodul[Bearbeiten]

  • optional in
/templates/TEMPLATENAME/module/checkout_success.html

Suche:

{if $GV_SEND_LINK}
<p>{#gv_has_vouchera#} {$GV_SEND_LINK} {#gv_has_voucherb#}</p>
{/if}

Füge danach ein:

{if $MODULE_sofort_vorkasse}
<p>{$MODULE_sofort_vorkasse}</p>
{/if}

Änderungen ab Version 1.0.6 rev 4642 SP1[Bearbeiten]

Verlinkung der Lieferzeit[Bearbeiten]

  • zwingend notwendig in
/templates/TEMPLATENAME/module/product_info/product_info_*.html

Suche:

			{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 mit:

			{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 die folgenden 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:

		{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 mit:

		{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}

Anzeige der Versandkosten im Warenkorb[Bearbeiten]

  • zwingend notwendig in

/templates/xtc5/modules/order_details.html

Suche: (...) kann je nach Version unterschiedlich sein

<tr>
  <td colspan="4" (...) </td>
  <td class="subtotal">&nbsp;</td>
</tr>

Ersetze mit:

{* BOF VERSANDKOSTEN IM WARENKORB *}
  <!--tr>
    <td colspan="4" class="subtotal">{$UST_CONTENT}<strong>{$TOTAL_CONTENT}</strong>{if $SHIPPING_INFO}{$SHIPPING_INFO}{/if}{if $KLARNA_PPBOX}<br />{$KLARNA_PPBOX}{/if}</td>
    <td class="subtotal">&nbsp;</td>
  </tr-->  
  <tr>
    <td colspan="4" class="subtotal">
    {if $UST_CONTENT}{$UST_CONTENT}{else}<strong>{php}printf(TAX_INFO_EXCL, ''){/php}</strong><br />{/if}
    <strong>{$TOTAL_CONTENT}</strong><br />
    {if $SELECT_COUNTRY}{$SELECT_COUNTRY}<br />{/if}
    {foreach name=aussen item=shipping_data from=$shipping_content}
      {$shipping_data.NAME} ({$COUNTRY}): {$shipping_data.VALUE}<br />
    {/foreach}
    {if $total}
    <strong>{#text_total#}: {$total}</strong>
    {/if}
    {if $KLARNA_PPBOX}<br />{$KLARNA_PPBOX}{/if}
    </td>
    <td class="subtotal">&nbsp;</td>
 </tr>
 {* EOF VERSANDKOSTEN IM WARENKORB *}

Änderungen aufgrund des SEPA-Lastschrift Moduls[Bearbeiten]

  • zwingend notwendig

Aus dem original xtc5 Template sind die folgenden Dateien ins eigene Template in die selben Ordner zu kopieren und/oder anzupassen:

/templates/xtc5/mail/english/sepa_info.txt
/templates/xtc5/mail/english/sepa_info.html
/templates/xtc5/mail/english/sepa_mail.txt
/templates/xtc5/mail/english/sepa_mail.html
/templates/xtc5/mail/german/sepa_info.txt
/templates/xtc5/mail/german/sepa_info.html
/templates/xtc5/mail/german/sepa_mail.txt
/templates/xtc5/mail/german/sepa_mail.html

Änderungen ab Version 1.0.6 rev 4642 SP3[Bearbeiten]

Änderungen aufgrund des BillSAFE Moduls[Bearbeiten]

/templates/TEMPLATENAME/module/checkout_confirmation.html

Suche:

<h1>{#heading_confirmation#}</h1>

Füge davor ein:

{if $error != ''}<div class="errormessage">{$error}</div>{/if}

Korrektur des Link Styles in der stylesheet.css[Bearbeiten]

/templates/TEMPLATENAME/stylesheet.css

Suche:

/* LINKS GLOBAL */ 
a, a:link, a:link, a:link, a:hover {

Ersetze mit:

/* LINKS GLOBAL */ 
a, a:link, a:visited, a:active, a:hover {

Update für PayPal Express Checkout[Bearbeiten]

Ersetze die folgende Datei aus dem modified eCommerce Shopsoftware 1.06 Template (xtc5) in deinem eigenen Template an gleicher Stelle:

/templates/TEMPLATENAME/module/checkout_paypal.html

Aktualisierung des Zahlungsmoduls für SOFORT.com[Bearbeiten]

/templates/TEMPLATENAME/module/checkout_success.html

Entferne den folgenden Code:

{if $MODULE_sofort_vorkasse} 
<p>{$MODULE_sofort_vorkasse}</p> 
{/if}

Entferne die folgende Datei:

/templates/TEMPLATENAME/module/sofort_vorkasse.html

Aktualisierung für shipcloud.io & Sendungsverfolgung[Bearbeiten]

  • optional

Aus dem original xtc5 Template sind die folgenden Dateien ins eigene Template in die selben Ordner zu kopieren und/oder anzupassen:

/templates/xtc5/admin/mail/english/change_order_mail.html
/templates/xtc5/admin/mail/english/change_order_mail.txt
/templates/xtc5/admin/mail/german/change_order_mail.html
/templates/xtc5/admin/mail/german/change_order_mail.txt

Folgende Dateien bearbeiten:

/templates/TEMPLATENAME/module/account.html

Suche:

      <p><strong><a href="{$order_data.ORDER_LINK}">{$order_data.ORDER_DATE}</a> / {#order_nr#}{$order_data.ORDER_ID}</strong><br />
      {#order_total#}{$order_data.ORDER_TOTAL} / {#order_status#}{$order_data.ORDER_STATUS}<br /></p>

Ersetze mit:

      <p><strong><a href="{$order_data.ORDER_LINK}">{$order_data.ORDER_DATE}</a> / {#order_nr#}{$order_data.ORDER_ID}</strong><br />
      {#order_total#}{$order_data.ORDER_TOTAL} / {#order_status#}{$order_data.ORDER_STATUS}<br />
      {if count($order_data.TRACKING) > 0}
        {foreach name=aussen item=tracking_data from=$order_data.TRACKING}
          {#label_tracking#} <a target="_blank" href="{$tracking_data.tracking_link}">{$tracking_data.parcel_id}</a><br />
        {/foreach}
      {/if}
      </p>
/templates/TEMPLATENAME/module/account_history.html

Suche:

<strong>{#text_total#}</strong>{$order_data.ORDER_TOTAL}&nbsp;&nbsp;<strong>{#text_status#}</strong>{$order_data.ORDER_STATUS}

Füge danach ein:

{if count($order_data.ORDER_TRACKING) > 0}
  {foreach name=aussen item=tracking_data from=$order_data.ORDER_TRACKING}
    <br />{#label_tracking#} <a target="_blank" href="{$tracking_data.tracking_link}">{$tracking_data.parcel_id}</a>
  {/foreach}
{/if}
/templates/TEMPLATENAME/module/account_history_info.html

Suche:

  <p>{$HISTORY_BLOCK}</p>

Füge danach ein:

  {if count($ORDER_TRACKING) > 0}
  <h2>{#label_tracking#}</h2>
  <p>
  {foreach name=aussen item=tracking_data from=$ORDER_TRACKING}
    <a target="_blank" href="{$tracking_data.tracking_link}">{$tracking_data.parcel_id}</a><br />
  {/foreach}
  </p>
  {/if}

Aktualisierung für Anzeige der Admin-Box bei Verwendung anderer Kundengruppe für das Frontend[Bearbeiten]

/templates/TEMPLATENAME/source/boxes.php

Suche:

  if ($_SESSION['customers_status']['customers_status_id'] == 0) {

Ersetze mit:

  if ($_SESSION['customers_status']['customers_status'] == 0) {

AGB als E-Mail Anhang[Bearbeiten]

  • zwingend notwendig

E-Mail AGB: Aus dem original xtc5 Template sind die folgenden Dateien ins eigene Template in die selben Ordner zu kopieren und/oder anzupassen:

/templates/xtc5/mail/german/order_mail.txt
/templates/xtc5/mail/german/order_mail.html
/templates/xtc5/mail/english/order_mail.txt
/templates/xtc5/mail/english/order_mail.html

Alternativ können die Dateien auch manuell wie folgt ergänzt werden:

Die folgenden Dateien:

/templates/TEMPLATENAME/mail/german/order_mail.txt
/templates/TEMPLATENAME/mail/english/order_mail.txt

An gewünschter Stelle einfügen:

{$AGB_TXT}

Die folgenden Dateien:

/templates/TEMPLATENAME/mail/german/order_mail.html
/templates/TEMPLATENAME/mail/english/order_mail.html

An gewünschter Stelle einfügen:

{if $AGB_HTML neq ''}
<br />
<font size="1" face="Arial, Helvetica, sans-serif">{$AGB_HTML}</font>
<br />
{/if}

USt-IdNr. in Bestellbestätigungs E-Mails, Rechnung & Lieferschein[Bearbeiten]

  • zwingend notwendig

Aus dem original xtc5 Template sind die folgenden Dateien ins eigene Template in die selben Ordner zu kopieren und/oder anzupassen:

/templates/xtc5/admin/billsafe_print_order.html 
/templates/xtc5/admin/print_order.html
/templates/xtc5/admin/print_packingslip.html
/templates/xtc5/mail/english/order_mail.html
/templates/xtc5/mail/english/order_mail.txt
/templates/xtc5/mail/german/order_mail.html
/templates/xtc5/mail/german/order_mail.txt 

Alternativ können die Dateien auch manuell wie folgt ergänzt werden:

Die folgenden Dateien wie folgt bearbeiten:

/templates/TEMPLATENAME/admin/billsafe_print_order.html 
/templates/TEMPLATENAME/admin/print_order.html
/templates/TEMPLATENAME/admin/print_packingslip.html

An gewünschter Stelle einfügen:

{if $vatID}<br /><strong>{#vatID#}</strong> {$vatID}{/if}

Die folgende Datei wie folgt bearbeiten:

/templates/TEMPLATENAME/mail/english/order_mail.html

An gewünschter Stelle einfügen:

{if $vatID}<br /><b>Your VAT ID No.:</b> {$vatID}{/if}

Die folgende Datei wie folgt bearbeiten:

/templates/TEMPLATENAME/mail/german/order_mail.html

An gewünschter Stelle einfügen:

{if $vatID}<br /><b>Ihre USt-IdNr.:</b> {$vatID}{/if}

Die folgende Datei wie folgt bearbeiten:

/templates/TEMPLATENAME/mail/english/order_mail.txt

An gewünschter Stelle einfügen:

{if $vatID}Your VAT ID No.: {$vatID}{/if}

Die folgende Datei wie folgt bearbeiten:

/templates/TEMPLATENAME/mail/german/order_mail.txt

An gewünschter Stelle einfügen:

{if $vatID}Ihre USt-IdNr.: {$vatID}{/if}

Änderungen ab Version 2.0.0.0[Bearbeiten]

Generelles Templateupdate durch den Wegfall von "base href" (Security-Fix)[Bearbeiten]

  • zwingend notwendig in
allen PHP-Dateien im Verzeichnis "/templates/TEMPLATENAME/source/boxes/", 
sowie der Datei "/templates/TEMPLATENAME/source/boxes.php"

Suche:

$box_smarty->assign('tpl_path', 'templates/'.CURRENT_TEMPLATE.'/');

Ersetze mit:

$box_smarty->assign('tpl_path',DIR_WS_BASE.'templates/'.CURRENT_TEMPLATE.'/');
templates/TEMPLATENAME/css/general.css.php

Suche:

<?php echo 'templates/'.CURRENT_TEMPLATE; ?>

Ersetze mit:

<?php echo DIR_WS_BASE.'templates/'.CURRENT_TEMPLATE; ?>
/templates/TEMPLATENAME/javascript/general.js.php

Suche nach erstem Vorkommen von:

?>

Füge danach ein:

<script type="text/javascript">var DIR_WS_BASE="<?php echo DIR_WS_BASE ?>"</script>

Suche:

<?php echo 'templates/'.CURRENT_TEMPLATE; ?>

Ersetze mit:

<?php echo DIR_WS_BASE.'templates/'.CURRENT_TEMPLATE; ?>

Ordner "/templates/xtc5/config/" in Ordner "/templates/TEMPLATENAME/" kopieren.

Datei "/templates/xtc5/javascript/thickbox.js" Ordner in "/templates/TEMPLATENAME/javascript/" kopieren.


Korrektur der History Links im Kundenkonto[Bearbeiten]

  • zwingend notwendig in

/templates/TEMPLATENAME/module/account.html

Suche:

		{foreach name=history_products item=products_history from=$products_history}
			<li><a href="{$products_history.PRODUCTS_LINK}">{$products_history.PRODUCTS_NAME} / {$products_history.PRODUCTS_PRICE}</a></li>
		{/foreach}

Ersetze mit:

    {foreach name=history_products item=prod_history_data from=$products_history}
      <li><a href="{$prod_history_data.PRODUCTS_LINK}">{$prod_history_data.PRODUCTS_NAME} / {$prod_history_data.PRODUCTS_PRICE}</a></li>
    {/foreach}

Korrektur des "Content bearbeiten" Links in Admin-Box wegen Umbau des Content-Managers[Bearbeiten]

  • zwingend notwendig in

/templates/TEMPLATENAME/source/boxes/admin.php

Suche:

    $content_query = xtc_db_query("SELECT content_id FROM ".TABLE_CONTENT_MANAGER." WHERE content_group='".(int)$_GET['coID']."' AND languages_id='".(int)$_SESSION['languages_id']."'");
    $content_data = xtc_db_fetch_array($content_query);
    $admin_link = '<a href="'.xtc_href_link_admin((defined('DIR_ADMIN') ? DIR_ADMIN : 'admin/').'content_manager.php', 'action=edit&coID='.$content_data['content_id']).'">'.xtc_image_button('edit_content.gif', IMAGE_BUTTON_CONTENT_EDIT).'</a>';

Ersetze mit:

    $admin_link = '<a href="'.xtc_href_link_admin((defined('DIR_ADMIN') ? DIR_ADMIN : 'admin/').'content_manager.php', 'action=edit&coID='.(int)$_GET['coID']).'">'.xtc_image_button('edit_content.gif', IMAGE_BUTTON_CONTENT_EDIT).'</a>';

Signatur in allen Mails & Tracking Link in Mails einfügen[Bearbeiten]

  • optional

Ordner in eigenes Template übernehmen:

/templates/xtc5/admin/mail/
/templates/xtc5/mail/

Erweiterung der Rechnung um optionale Rechnungsnummer[Bearbeiten]

  • optional

Dateien in eigenes Template übernehmen:

/templates/xtc5/admin/print_order.html
/templates/xtc5/admin/print_packingslip.html

Austausch des Buttons für Schnellkauf (Vorgabe des Händlerbunds)[Bearbeiten]

  • optional

Dateien in eigenes Template übernehmen:

/templates/xtc5/buttons/english/button_add_quick.gif
/templates/xtc5/buttons/german/button_add_quick.gif

Update für Facebook Tracking[Bearbeiten]

  • optional in

/templates/TEMPLATENAME/index.html

Suche:

{if ($smarty.const.TRACKING_COUNT_ADMIN_ACTIVE=='true' and $smarty.session.customers_status.customers_status_id == '0')
  or $smarty.session.customers_status.customers_status_id != '0'}
  {if $smarty.const.TRACKING_PIWIK_ACTIVE=='true'}
    {piwik url=$smarty.const.TRACKING_PIWIK_LOCAL_PATH id=$smarty.const.TRACKING_PIWIK_ID goal=$smarty.const.TRACKING_PIWIK_GOAL}
  {/if}
  {if $smarty.const.TRACKING_GOOGLEANALYTICS_ACTIVE=='true'}
    {googleanalytics account=$smarty.const.TRACKING_GOOGLEANALYTICS_ID trackorders=true}
  {/if}
{/if}

Ersetze mit:

{if ($smarty.const.TRACKING_COUNT_ADMIN_ACTIVE == 'true' && $smarty.session.customers_status.customers_status_id == '0') || $smarty.session.customers_status.customers_status_id != '0'}
  {if $smarty.const.TRACKING_PIWIK_ACTIVE == 'true'}
    {piwik url=$smarty.const.TRACKING_PIWIK_LOCAL_PATH id=$smarty.const.TRACKING_PIWIK_ID goal=$smarty.const.TRACKING_PIWIK_GOAL}
  {/if}
  {if $smarty.const.TRACKING_GOOGLEANALYTICS_ACTIVE == 'true'}
    {googleanalytics account=$smarty.const.TRACKING_GOOGLEANALYTICS_ID}
  {/if}
  {if $smarty.const.TRACKING_FACEBOOK_ACTIVE == 'true'}
    {facebook id=$smarty.const.TRACKING_FACEBOOK_ID}
  {/if}
{/if}

Update für Masterpayment[Bearbeiten]

  • optional

Dateien in eigenes Template übernehmen:

/templates/xtc5/css/masterpayment.css
/templates/xtc5/module/checkout_masterpayment.html

Update für PayPal[Bearbeiten]

  • optional in
/templates/TEMPLATENAME/admin/print_order.html

Suche:

      {if $COMMENTS}
      <tr>
        <td>
          <table style="border-bottom:1px solid;" width="100%" border="0" cellpadding="0" cellspacing="0">
            <tr>
              <td class="small">
                <br /><br /><strong>{#comments#}</strong> {$COMMENTS}
              </td>
            </tr>
          </table>
        </td>
      </tr>
      {/if}

Füge danach ein:

      {if count($PAYMENT_INFO) > 0}
      <tr>
        <td>
          <table style="border:1px solid;" width="100%" border="0" cellpadding="0" cellspacing="0">
            {foreach name=aussen item=data from=$PAYMENT_INFO}
              <tr>
                <td class="small" colspan="2">
                  <strong>{$data.title|stripslashes}</strong>
                </td>
              </tr>
              {foreach name=aussen item=info from=$data.fields}
                <tr>
                  <td class="small">{if $info.title != ''}{$info.title|stripslashes}{else}&nbsp;{/if}</td>
                  <td class="small">{if $info.field}{$info.field|stripslashes}{else}&nbsp;{/if}</td>
                </tr>      
              {/foreach}
            {/foreach}
          </table>
        </td>
      </tr>
      {/if}

Aus dem original xtc5 Template sind die folgenden Dateien ins eigene Template in die selben Ordner zu kopieren:

/templates/xtc5/javascript/jquery.js
/templates/xtc5/javascript/thickbox.js (Sofern Datei auch im eigenen Template vorhanden!)
/templates/TEMPLATENAME/module/product_info/product_info_*.html

Suche:

  		<tr>
    		<td style="width:100%; padding-right:5px;">{$ADD_QTY}</td>
    		<td>{$ADD_CART_BUTTON}</td>
  		</tr>

Füge danach ein:

      {if $ADD_CART_BUTTON_PAYPAL}
        <tr>
          <td style="width:100%; padding-right:5px;">&nbsp;</td>
          <td>{$ADD_CART_BUTTON_PAYPAL}</td>
        </tr>
      {/if}
/templates/TEMPLATENAME/module/account_history_info.html

Suche:

<h1>{#heading_history_info#}</h1>

Füge danach ein:

{if $info_message}<div class="{if isset($smarty.get.info) && $smarty.get.info == '1'}info{else}error{/if}message">{$info_message}</div>{/if}
/templates/TEMPLATENAME/module/checkout_confirmation.html

Suche:

<a href="{$SHIPPING_EDIT}">{#text_edit#}</a>

Ersetze mit:

{if isset($SHIPPING_EDIT)}<a href="{$SHIPPING_EDIT}">{#text_edit#}</a>{/if}

Suche (2x):

<a href="{$PAYMENT_EDIT}">{#text_edit#}</a>

Ersetze mit:

{if isset($PAYMENT_EDIT)}<a href="{$PAYMENT_EDIT}">{#text_edit#}</a>{/if}

Suche:

  {if $PAYMENT_INFORMATION!=''}
    <br />
    <h2>{#text_payment_info#}</h2>
    <table style="clear:both">
      <tr>
        {foreach name=aussen item=data from=$PAYMENT_INFORMATION}    
          <td class="main">{$data.title|stripslashes}</td>
          <td>&nbsp;</td>
          <td class="main">{if $data.field}{$data.field|stripslashes}{else}&nbsp;{/if}</td>    
        {/foreach}
      </tr>
    </table>
  {/if}

Ersetze mit:

  {if $PAYMENT_INFORMATION!=''}
    <br />
    <h2>{#text_payment_info#}</h2>
    <table style="clear:both">
      {foreach name=aussen item=data from=$PAYMENT_INFORMATION}
        <tr>
          <td class="main">{if $data.title != ''}{$data.title|stripslashes}{else}&nbsp;{/if}</td>
          <td>&nbsp;</td>
          <td class="main">{if $data.field != ''}{$data.field|stripslashes}{else}&nbsp;{/if}</td>
        </tr>
      {/foreach}
    </table>
  {/if}
/templates/TEMPLATENAME/module/checkout_success.html

Suche:

{if $PAYPAL_LINK}
<p><div style="background: #f2f2f2; color: #ffffff; padding:5px; border: 2px solid #496686">{$PAYPAL_LINK}</div></p>
{/if}

Ersetze mit:

{if count($PAYMENT_INFO) > 0}
<div class="highlightbox">
  {foreach name=aussen item=data from=$PAYMENT_INFO}
    <h4>{$data.title|stripslashes}</h4>
    <table class="paymentinfotable {$data.class}">
      {foreach name=aussen item=info from=$data.fields}
        <tr>
          <td>{if $info.title != ''}{$info.title|stripslashes}{else}&nbsp;{/if}</td>
          <td>{if $info.field != ''}{$info.field|stripslashes}{else}&nbsp;{/if}</td>
        </tr>      
      {/foreach}
    </table>
  {/foreach}
</div>
<br class="clearfix" />
{/if}
/templates/TEMPLATENAME/module/logoff.html

Suche:

<h1>{#heading_logoff#}</h1>

Füge danach ein:

{if $info_message}<div class="{if isset($smarty.get.info) && $smarty.get.info == '1'}info{else}error{/if}message">{$info_message}</div>{/if}

Hinweis ausgeben, dass Gutscheine nicht von Gästen gekauft werden dürfen[Bearbeiten]

  • optional in
/templates/TEMPLATENAME/module/product_info/product_info*.html

Füge an gewünschter Stelle ein:

      {if $ADD_CART_BUTTON == '' && $PRODUCTS_GIFT_FORBIDDEN == 'true'}<p>{#products_gift_forbidden#}</p>{/if}

Update für Passwort-Richtlinie[Bearbeiten]

  • optional in
/templates/TEMPLATENAME/module/account_password.html

Suche:

{if $error != ''}<div class="errormessage">{$error}</div>{/if}
{$FORM_ACTION}
<div class="highlightbox">

Füge danach ein:

<p>{#text_password_policy#|sprintf:$smarty.const.ENTRY_PASSWORD_MIN_LENGTH}</p>
/templates/TEMPLATENAME/module/create_account.html

Suche:

<h2>{#title_password#}</h2>
<div class="highlightbox">

Füge danach ein:

{#text_password_policy#|sprintf:$smarty.const.ENTRY_PASSWORD_MIN_LENGTH}

Update der Routine für vergessene Passwörter[Bearbeiten]

  • zwingend notwendig

Aus dem original xtc5 bzw. tpl_modified Template sind die folgenden Dateien ins eigene Template in die selben Ordner zu kopieren:

/templates/tpl_modified/mail/english/new_password_mail.html
/templates/tpl_modified/mail/english/new_password_mail.txt
/templates/tpl_modified/mail/german/new_password_mail.html
/templates/tpl_modified/mail/german/new_password_mail.txt
/templates/xtc5/mail/english/new_password_mail.html
/templates/xtc5/mail/english/new_password_mail.txt
/templates/xtc5/mail/german/new_password_mail.html
/templates/xtc5/mail/german/new_password_mail.txt

Die folgenden Dateien können gelöscht werden, da sie nicht mehr benötigt werden:

/templates/TEMPLATENAME/mail/english/change_password_mail.html
/templates/TEMPLATENAME/mail/english/change_password_mail.txt
/templates/TEMPLATENAME/mail/german/change_password_mail.html
/templates/TEMPLATENAME/mail/german/change_password_mail.txt
/templates/TEMPLATENAME/mail/english/password_verification_mail.html
/templates/TEMPLATENAME/mail/english/password_verification_mail.txt
/templates/TEMPLATENAME/mail/german/password_verification_mail.html
/templates/TEMPLATENAME/mail/german/password_verification_mail.txt

Update der Login-Routine zum Schutz vor Brute-Force Attacken[Bearbeiten]

  • zwingend notwendig

Aus dem original xtc5 bzw. tpl_modified Template sind die folgenden Dateien ins eigene Template in die selben Ordner zu kopieren:

/templates/tpl_modified/module/login.html
/templates/xtc5/module/login.html

Alternativ können die Dateien auch manuell wie folgt ergänzt werden:

Suche:

{config_load file="$language/lang_$language.conf" section="login"}

Füge danach ein:

{config_load file="$language/lang_$language.conf" section="newsletter"}

Suche:

    <tr>
      <td style="white-space:nowrap;"><strong>{#text_email#}</strong></td>
      <td>{$INPUT_MAIL}</td>
      <td>&nbsp;</td>
    </tr>

Füge davor ein:

    {if $INPUT_CODE}
      <tr>
        <td style="white-space:nowrap;"><strong>{#text_sec_code#}:</strong></td>
        <td>{$VVIMG}</td>
        <td>&nbsp;</td>
      </tr>
      <tr>
        <td style="white-space:nowrap;"><strong>{#text_sec_code#}:</strong></td>
        <td>{$INPUT_CODE}</td>
        <td>&nbsp;</td>
      </tr>
    {/if}

Erweiterung der Sonderangebote-Box für Startdatum[Bearbeiten]

  • zwingend notwendig in
/templates/TEMPLATENAME/source/boxes/specials.php

Suche:

                                          AND s.status = '1'

Füge danach ein:

                                          AND (now() >= s.start_date
                                               OR s.start_date IS NULL)

Überarbeitung der Content Popups[Bearbeiten]

  • zwingend notwendig

Aus dem original xtc5 bzw. tpl_modified Template ist die folgende Datei ins eigene Template in den selben Ordner zu kopieren:

/templates/tpl_modified/module/popup_content.html
/templates/xtc5/module/popup_content.html

Die folgende Datei wie folgt bearbeiten:

/templates/TEMPLATENAME/stylesheet.css

Füge am Ende der Datei ein:

/* styles for popup content */
.popup-cont {
font-family:Arial, Helvetica, sans-serif;
background:#fff;
margin:0px;
}

Überarbeitung der Sub Kategorie Listing Anzeige[Bearbeiten]

  • zwingend notwendig

Aus dem original xtc5 bzw. tpl_modified Template ist die folgende Datei ins eigene Template in den selben Ordner zu kopieren:

/templates/tpl_modified/module/sub_categories_listing.html
/templates/xtc5/module/sub_categories_listing.html

Überarbeitung der Sub Content Listing Anzeige[Bearbeiten]

  • zwingend notwendig

Aus dem original xtc5 bzw. tpl_modified Template ist die folgende Datei ins eigene Template in den selben Ordner zu kopieren:

/templates/tpl_modified/module/sub_content_listing.html
/templates/xtc5/module/sub_content_listing.html

Überarbeitung der Newsletter Aktivierung[Bearbeiten]

  • zwingend notwendig

Änderungen siehe https://trac.modified-shop.org/changeset/11080/

Aus dem original xtc5 bzw. tpl_modified Template ist die folgende Datei ins eigene Template in den selben Ordner zu kopieren:

/templates/tpl_modified/module/newsletter.html
/templates/xtc5/module/newsletter.html

Hinzufügen des Merkzettels[Bearbeiten]

  • optional

Aus dem original xtc5 bzw. tpl_modified Template ist die folgende Datei ins eigene Template in den selben Ordner zu kopieren:

/templates/tpl_modified/boxes/wishlist.php
/templates/tpl_modified/module/wishlist.html
/templates/tpl_modified/source/boxes/box_wishlist.html
/templates/xtc5/boxes/wishlist.php
/templates/xtc5/module/wishlist.html
/templates/xtc5/source/boxes/box_wishlist.html

Die folgende(n) Datei(en) wie folgt bearbeiten:

/templates/TEMPLATENAME/module/product_info/product_info*.html

Suche:

          {if $ADD_CART_BUTTON_PAYPAL}
            <br class="clearfix" />
            <span class="addtobasket_button">{$ADD_CART_BUTTON_PAYPAL}</span>
          {/if}

Füge danach ein:

          {if $ADD_CART_BUTTON_WISHLIST}
            <br class="clearfix" />
            <span class="addtobasket_button">{$ADD_CART_BUTTON_WISHLIST}</span>
          {/if}

Die folgende(n) Datei(en) wie folgt bearbeiten:

/templates/TEMPLATENAME/module/shopping_cart.html

Füge am Ende der Datei ein:

{if $MODULE_wishlist}
  <br class="clearfix" />
  {$MODULE_wishlist}
{/if}

Die folgende(n) Datei(en) wie folgt bearbeiten:

/templates/TEMPLATENAME/module/order_details.html

Suche:

      <a class="ord_prdoducts_name" href="{$module_data.PRODUCTS_LINK}">{$module_data.PRODUCTS_NAME}</a>
      {if $module_data.ATTRIBUTES != ''} 
      <ul class="attributes_list">
        {foreach key=key_data item=item_data from=$module_data.ATTRIBUTES} 
        <li><strong>{$item_data.NAME}:</strong> {$item_data.VALUE_NAME}</li>
        {/foreach} 
      </ul>
      {/if}

Füge danach ein:

      {if $module_data.BUTTON_WISHLIST != ''}<span class="ord_wishlist">&laquo; {$module_data.BUTTON_WISHLIST}</span>{/if}

Die folgende(n) Datei(en) wie folgt bearbeiten:

/templates/TEMPLATENAME/source/boxes.php

Suche:

require_once(DIR_FS_BOXES . 'shopping_cart.php');

Füge danach ein:

if (defined('MODULE_WISHLIST_SYSTEM_STATUS') && MODULE_WISHLIST_SYSTEM_STATUS == 'true') {
  require_once(DIR_FS_BOXES . 'wishlist.php');
}
/templates/TEMPLATENAME/index.html

An gewünschter Stelle einfügen:

{if isset($box_WISHLIST)}<li class="wishlist">{$box_WISHLIST}</li>{/if}

Express Checkout[Bearbeiten]

  • optional

Aus dem original xtc5 bzw. tpl_modified Template ist die folgende Datei ins eigene Template in den selben Ordner zu kopieren:

/templates/tpl_modified/module/account_checkout_express.html
/templates/xtc5/module/account_checkout_express.html

Die folgende(n) Datei(en) wie folgt bearbeiten:

/templates/tpl_modified/module/product_info/product_info*.html

An gwünschter Stelle einfügen:

{if isset($EXPRESS_LINK)}<li class="express">{$EXPRESS_LINK}</li>{/if}

Suche:

          <span class="addtobasket_button">{$ADD_CART_BUTTON}</span>

Füge danach ein:

          {if isset($ADD_CART_BUTTON_EXPRESS)}
            <br class="clearfix" />
            <span class="addtobasket_button">{$ADD_CART_BUTTON_EXPRESS}</span>
          {elseif $ACTIVATE_EXPRESS_LINK}
            <br class="clearfix" />
            <span class="express_info"><a href="{$ACTIVATE_EXPRESS_LINK}">{#checkout_express_activate#}</a></span>
          {/if}

Die folgende(n) Datei(en) wie folgt bearbeiten:

/templates/tpl_modified/module/shopping_cart.html

An gewünschter Stelle einfügen:

      {if isset($BUTTON_CHECKOUT_EXPRESS)}<span class="express_button">{$BUTTON_CHECKOUT_EXPRESS}</span>{/if}

Die folgende(n) Datei(en) wie folgt bearbeiten:

/templates/tpl_modified/module/checkout_confirmation.html

An gewünschter Stelle einfügen:

    {if isset($EXPRESS)}
    <div class="highlightbox plainright">
      <h4>{#heading_checkout_express#}</h4>
      {if isset($success_message)}
        <div class="infomessage">{$success_message}</div>
      {else}
        {$FORM_ACTION}
        <span style="float:right;margin-left:20px;">{$BUTTON_SUBMIT}</span>
        {#text_express_checkout_information#} {if isset($EXPRESS_LINK)}{$EXPRESS_LINK}{/if}
        {$FORM_END}
      {/if}
    </div>
    {/if}

Die folgende(n) Datei(en) wie folgt bearbeiten:

/templates/tpl_modified/module/account.html

An gewünschter Stelle einfügen:

        {if isset($LINK_EXPRESS)}
          <li><a class="black" href="{$LINK_EXPRESS}"><strong>{#text_express_checkout#}</strong></a></li>
        {/if}

Suche:

        {$order_data.BUTTON_CART}

Füge davor ein:

        {if isset($order_data.BUTTON_CART_EXPRESS)}{$order_data.BUTTON_CART_EXPRESS}{/if}

Die folgende(n) Datei(en) wie folgt bearbeiten:

/templates/tpl_modified/module/account_history.html

Suche:

        {$order_data.BUTTON_CART}

Füge davor ein:

        {if isset($order_data.BUTTON_CART_EXPRESS)}{$order_data.BUTTON_CART_EXPRESS}{/if}

Die folgende(n) Datei(en) wie folgt bearbeiten:

/templates/tpl_modified/module/account_history_info.html

Suche:

          {$order_values.BUTTON_CART}

Füge davor ein:

          {if isset($order_values.BUTTON_CART_EXPRESS)}{$order_values.BUTTON_CART_EXPRESS}{/if}

Suche:

  {$BUTTON_CART}

Füge davor ein:

  {if isset($BUTTON_CART_EXPRESS)}{$BUTTON_CART_EXPRESS}{/if}

Aktualisierung der Seitenschaltung (Pagination)[Bearbeiten]

  • optional

Aus dem original xtc5 bzw. tpl_modified Template ist die folgende Datei ins eigene Template in den selben Ordner zu kopieren:

/templates/tpl_modified/module/pagination.html
/templates/xtc5/module/pagination.html

Die folgenden Dateien wie folgt bearbeiten:

/templates/TEMPLATENAME/module/product_listing/product_listing*.html
/templates/TEMPLATENAME/module/reviews.html
/templates/TEMPLATENAME/module/product_reviews.html
/templates/TEMPLATENAME/module/account_history.html

Suche:

{$NAVIGATION}

Ersetze mit:

{$PAGINATION}
/templates/TEMPLATENAME/stylesheet.css

Füge am Ende der Datei ein:

 /* 22. START pagination */
.pagination_bar {
  padding: 0px 0px 0px 0px;
  margin: 15px 0 15px 0;
}
.pagination_text {
  float:left;
  display:inline-block;
  font-size:12px;
  line-height:22px;
  vertical-align:middle;
  color:#444;
}
.pagination_list {
  display:inline-block;
  float:right;
  font-size:12px;
  line-height:22px;
}
.pagination_list ul {
  list-style-type:none;
  margin: 0;
}
.pagination_list ul li {
  float:left;
  font-size: 11px;  
  line-height: 21px;
  text-align: center;
  padding: 0; 
}
.pagination_list ul li.plain {
  padding: 0 4px;
}
.pagination_list ul li a {
  display: inline-block;
  min-width:13px;
  padding: 0 4px;
  margin: 0 0 0 3px;
  color: #666; 
  text-decoration:none;
  background-color: #D7D7D7;
}
.pagination_list ul li a:hover {
  color: #fff; 
  background-color: #6D2551;
}
.pagination_list ul li.current {
  display: inline-block;
  min-width:13px;
  padding: 0 4px;
  margin: 0 0 0 3px;
  color: #fff; 
  font-weight:bold;
  background-color: #6D2551;
}
/* END pagination */

Erweiterung des Artikelübersichtsseiten um Artikelfilter[Bearbeiten]

  • optional

Aus dem original xtc5 bzw. tpl_modified Template ist die folgende Datei ins eigene Template in den selben Ordner zu kopieren:

/templates/tpl_modified/module/listing_filter.html
/templates/tpl_modified/module/product_listing/product_listing*.html
/templates/xtc5/module/listing_filter.html
/templates/xtc5/module/product_listing/product_listing*.html

An gewünschter Stelle einfügen:

{$LISTING_FILTER}<br />

Artikeleigenschaften auf der product_info Seite anzeigen[Bearbeiten]

  • zwingend notwendig

Aus dem original xtc5 bzw. tpl_modified Template sind die folgenden Dateien ins eigene Template in die selben Ordner zu kopieren:

/templates/tpl_modified/module/product_info/product_info*.html
/templates/tpl_modified/module/product_tags.html
/templates/tpl_modified/stylesheet.css
/templates/xtc5/module/product_info/product_info*.html
/templates/xtc5/module/product_tags.html
/templates/xtc5/stylesheet.css

Alternativ kann die Datei auch manuell wie folgt ergänzt werden:

Für Template tpl_modified:

Die folgende Datei wie folgt bearbeiten:

/templates/tpl_modified/module/product_info/product_info*.html

An gewünschter Stelle einfügen:

{if $MODULE_product_tags != ''}{$MODULE_product_tags}{/if}

Die folgende Datei wie folgt bearbeiten:

/templates/tpl_modified/stylesheet.css

Füge am Ende der Datei ein:

/* START tags */
.tags_block {
  margin: 0 0 15px 0;
  border-top: 1px solid #eee;
}
.tags_row {
  font-size:12px;
  line-height:20px;
  border-bottom: 1px solid #eee;
}
.tags_bg1 {
  background:#fafafa;
}
.tags_bg2 {
  background:#ffffff;
}
.tags_row .tags_options {
  float:left;
  width:25%;
  display:block;
  font-weight:bold;
  padding: 5px 10px 5px 0;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
.tags_row .tags_options img {
  vertical-align: -3px;
  padding-left:4px;
}
.tags_options_tooltip {
  position:relative;
  z-index: 1;
  display:inline-block;
}
.tags_options_tooltip img {
  vertical-align:-3px;
}
.tags_options_tooltip .tags_options_tooltip_hover {
  position:absolute;
  bottom:20px;
  left:-95px;
  width:200px;
  background:#eee;
  border: 1px solid #ddd;
  display:none;
  font-size:12px;
  line-height:16px;
  font-weight:normal;
  padding:10px;
}
.tags_options_tooltip:hover .tags_options_tooltip_hover {
  display:block;
}
.tags_row .tags_values {
  float:left;
  width:75%;
  display:block;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  font-size:0px;
}
.tags_values_icon_row {
  font-size:12px;
  line-height:20px;
  float:left;
  padding:5px 0px 0px 0px;
}
.tags_values_icon {
  float:left;
  display:inline-block;
  height:20px;
  width:auto;
  margin:0 10px 5px 0;
}
.tags_values_icon img {
  float:left;
  height:20px;
}
.tags_values_icon a {
  display:block;
}
.tags_values_icon a:hover {
  text-decoration:none;
}
.tags_icons_tooltip {
  position:relative;
  display:block;
}
.tags_icons_tooltip img {
  vertical-align:-3px;
}
.tags_icons_tooltip .tags_icons_tooltip_hover {
  position:absolute;
  bottom:24px;
  left:-95px;
  width:200px;
  background:#eee;
  border: 1px solid #ddd;
  display:none;
  font-size:12px;
  line-height:16px;
  font-weight:normal;
  padding:10px;
}
.tags_icons_tooltip:hover .tags_icons_tooltip_hover {
  display:block;
}
.tags_values_text_row {
  font-size:12px;
  line-height:20px;
  float:left;
  padding:5px 0px 5px 0px;
}
.tags_values_name {
  position:relative;
  cursor:default;
  float:left;
  clear:left;
}
.tags_values_name_tooltip {
    border-bottom: 1px dashed #999;
}
.tags_values_desc_hover {
  position:absolute;
  bottom:20px;
  left:-95px;
  width:200px;
  background:#eee;
  border: 1px solid #ddd;
  display:none;
  font-size:12px;
  line-height:16px;
  font-weight:normal;
  padding:10px;
}
.tags_values_name:hover .tags_values_desc_hover {
  display:block;
}
.tags_values_info {
  position:relative;
}
.tags_values_info img {
  vertical-align:-3px;
  padding-left:4px;
}
.tags_values_diff {
  font-size:12px;
  line-height:20px;
  padding-left:1px;
  padding-right:4px;
}
/* END tags */

Für Template xtc5:

Die folgende Datei wie folgt bearbeiten:

/templates/xtc5/module/product_info/product_info*.html

An gewünschter Stelle einfügen:

{if $MODULE_product_tags != ''}{$MODULE_product_tags}{/if}

Die folgende Datei wie folgt bearbeiten:

/templates/xtc5/stylesheet.css

Suche:

body.popupproductinfo ul li.active {
  font-weight:bold;
}

Füge danach ein:

body.popupproductinfo .tags_block {
  display: inline-block;
}

Füge am Ende der Datei ein:

/* START tags */
.tags_block {
  margin: 0 0 15px 0;
  border-top: 1px solid #eee;
}
.tags_row {
  font-size:12px;
  line-height:20px;
  border-bottom: 1px solid #eee;
}
.tags_bg1 {
  background:#fafafa;
}
.tags_bg2 {
  background:#ffffff;
}
.tags_row .tags_options {
  float:left;
  width:25%;
  display:block;
  font-weight:bold;
  padding: 5px 10px 5px 0;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
.tags_row .tags_options img {
  vertical-align: -3px;
  padding-left:4px;
}
.tags_options_tooltip {
  position:relative;
  z-index: 1;
  display:inline-block;
}
.tags_options_tooltip img {
  vertical-align:-3px;
}
.tags_options_tooltip .tags_options_tooltip_hover {
  position:absolute;
  bottom:20px;
  left:-95px;
  width:200px;
  background:#eee;
  border: 1px solid #ddd;
  display:none;
  font-size:12px;
  line-height:16px;
  font-weight:normal;
  padding:10px;
}
.tags_options_tooltip:hover .tags_options_tooltip_hover {
  display:block;
}
.tags_row .tags_values {
  float:left;
  width:75%;
  display:block;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  font-size:0px;
}
.tags_values_icon_row {
  font-size:12px;
  line-height:20px;
  float:left;
  padding:5px 0px 0px 0px;
}
.tags_values_icon {
  float:left;
  display:inline-block;
  height:20px;
  width:auto;
  margin:0 10px 5px 0;
}
.tags_values_icon img {
  float:left;
  height:20px;
}
.tags_values_icon a {
  display:block;
}
.tags_values_icon a:hover {
  text-decoration:none;
}
.tags_icons_tooltip {
  position:relative;
  display:block;
}
.tags_icons_tooltip img {
  vertical-align:-3px;
}
.tags_icons_tooltip .tags_icons_tooltip_hover {
  position:absolute;
  bottom:24px;
  left:-95px;
  width:200px;
  background:#eee;
  border: 1px solid #ddd;
  display:none;
  font-size:12px;
  line-height:16px;
  font-weight:normal;
  padding:10px;
}
.tags_icons_tooltip:hover .tags_icons_tooltip_hover {
  display:block;
}
.tags_values_text_row {
  font-size:12px;
  line-height:20px;
  float:left;
  padding:5px 0px 5px 0px;
}
.tags_values_name {
  position:relative;
  cursor:default;
  float:left;
  clear:left;
}
.tags_values_name_tooltip {
    border-bottom: 1px dashed #999;
}
.tags_values_desc_hover {
  position:absolute;
  bottom:20px;
  left:-95px;
  width:200px;
  background:#eee;
  border: 1px solid #ddd;
  display:none;
  font-size:12px;
  line-height:16px;
  font-weight:normal;
  padding:10px;
}
.tags_values_name:hover .tags_values_desc_hover {
  display:block;
}
.tags_values_info {
  position:relative;
}
.tags_values_info img {
  vertical-align:-3px;
  padding-left:4px;
}
.tags_values_diff {
  font-size:12px;
  line-height:20px;
  padding-left:1px;
  padding-right:4px;
}
/* END tags */

Änderungen ab Version 2.0.1.0[Bearbeiten]

Überarbeitung des Bundesländer-Dropdowns bei Accounterstellung & -änderung[Bearbeiten]

  • zwingend notwendig

Aus dem original xtc5 bzw. tpl_modified Template sind die folgenden Dateien ins eigene Template in die selben Ordner zu kopieren:

/templates/tpl_modified/javascript/get_states.js.php
/templates/tpl_modified/module/address_book_details.html
/templates/tpl_modified/module/checkout_new_address.html
/templates/tpl_modified/module/create_account.html
/templates/tpl_modified/module/create_account_guest.html
/templates/xtc5/javascript/get_states.js.php
/templates/xtc5/module/address_book_details.html
/templates/xtc5/module/checkout_new_address.html
/templates/xtc5/module/create_account.html
/templates/xtc5/module/create_account_guest.html

Alternativ können die Dateien auch manuell wie folgt ergänzt werden:

Die folgende Datei kann gefahrlos ins eigene Template in den selben Ordner kopiert und überschrieben werden:

/templates/tpl_modified/javascript/get_states.js.php

Die folgenden Dateien wie folgt bearbeiten:

/templates/TEMPLATENAME/javascript/general.js.php

Füge am Ende der Datei ein:

<?php require DIR_FS_CATALOG . 'templates/'.CURRENT_TEMPLATE.'/javascript/get_states.js.php'; // Ajax State/District/Bundesland Updater - h-h-h ?>
/templates/TEMPLATENAME/module/address_book_details.html

Suche:

  {if $state == '1'} 
  <tr>
    <td>{#text_state#}</td>
    <td class="inputRequirement">{$INPUT_STATE}</td>
  </tr>
  {/if}

Ersetze mit:

  {if $state == '1'} 
  <tr{if $display_state}{$display_state}{/if}>
    <td>{#text_state#}</td>
    <td class="inputRequirement">{$INPUT_STATE}</td>
  </tr>
  {/if}
/templates/TEMPLATENAME/module/checkout_new_address.html

Suche:

  {if $state == '1'}
  <tr>
    <td>{#text_state#}</td>
    <td align="left">{$INPUT_STATE}</td>
  </tr>
  {/if}

Ersetze mit:

  {if $state == '1'}
  <tr{if $display_state}{$display_state}{/if}>
    <td>{#text_state#}</td>
    <td align="left">{$INPUT_STATE}</td>
  </tr>
  {/if}
/templates/TEMPLATENAME/module/create_account.html
/templates/TEMPLATENAME/module/create_account_guest.html

Suche:

  {if $state == '1'}
  <tr>
    <td>{#text_state#}</td>
    <td>{$INPUT_STATE}</td>
  </tr>
  {/if}

Ersetze mit:

  {if $state == '1'}
  <tr{if $display_state}{$display_state}{/if}>
    <td>{#text_state#}</td>
    <td>{$INPUT_STATE}</td>
  </tr>
  {/if}

Separate E-Mails für Bestellbestätigung & Auftragsbestätigung[Bearbeiten]

  • optional

Aus dem original xtc5 bzw. tpl_modified Template sind die folgenden Dateien ins eigene Template in die selben Ordner zu kopieren:

/templates/tpl_modified/mail/english/order_mail_step.html
/templates/tpl_modified/mail/english/order_mail_step.txt
/templates/tpl_modified/mail/german/order_mail_step.html
/templates/tpl_modified/mail/german/order_mail_step.txt
/templates/xtc5/mail/english/order_mail_step.html
/templates/xtc5/mail/english/order_mail_step.txt
/templates/xtc5/mail/german/order_mail_step.html
/templates/xtc5/mail/german/order_mail_step.txt

Kundenrezensionen manuell freischalten[Bearbeiten]

  • optional

Aus dem original xtc5 bzw. tpl_modified Template sind die folgenden Dateien ins eigene Template in die selben Ordner zu kopieren:

/templates/tpl_modified/source/boxes/reviews.php
/templates/xtc5/source/boxes/reviews.php

Alternativ können die Dateien auch manuell wie folgt ergänzt werden:

Die folgende Datei wie folgt bearbeiten:

/templates/TEMPLATENAME/source/boxes/reviews.php

Suche:

                         AND pd.language_id = '" . (int)$_SESSION['languages_id'] . "'";

Ersetze mit:

                         AND pd.language_id = '" . (int)$_SESSION['languages_id'] . "'
                         AND r.reviews_status = '1'";

Überarbeitung Captcha bei Accounterstellung[Bearbeiten]

  • zwingend notwendig

Aus dem original xtc5 bzw. tpl_modified Template sind die folgenden Dateien ins eigene Template in die selben Ordner zu kopieren:

/templates/tpl_modified/module/create_account.html
/templates/tpl_modified/module/create_account_guest.html
/templates/xtc5/module/create_account.html
/templates/xtc5/module/create_account_guest.html

Alternativ können die Dateien auch manuell wie folgt ergänzt werden:

Die folgende Datei wie folgt bearbeiten:

/templates/TEMPLATENAME/module/create_account.html

Suche:

  <tr>
    <td>{#text_confirmation#}</td>
    <td>{$INPUT_CONFIRMATION}</td>
  </tr>

Füge danach ein:

  {if $INPUT_VVCODE}
    <tr>
      <td style="white-space:nowrap;"><strong>{#text_sec_code#}:</strong></td>
      <td>{$VVIMG}</td>
    </tr>
    <tr>
      <td style="white-space:nowrap;"><strong>{#text_sec_code#}:</strong></td>
      <td>{$INPUT_VVCODE}</td>
    </tr>
  {/if}

Die folgende Datei wie folgt bearbeiten:

/templates/TEMPLATENAME/module/create_account_guest.html

Suche:

<div class="highlightbox">
<table width="100%" border="0" cellspacing="0" cellpadding="4">
  <tr>
    <td width="25">{$CHECKBOX_NEWSLETTER}</td>
    <td>{#text_newsletter#}</td>
  </tr>
</table>
</div>

Füge danach ein:

{if $INPUT_VVCODE}
<table width="100%" border="0" cellspacing="0" cellpadding="4">
  <tr>
    <td style="white-space:nowrap;"><strong>{#text_sec_code#}:</strong></td>
    <td>{$VVIMG}</td>
  </tr>
  <tr>
    <td style="white-space:nowrap;"><strong>{#text_sec_code#}:</strong></td>
    <td>{$INPUT_VVCODE}</td>
  </tr>
</table>
{/if}

Update für Google Certified Shops Merchant[Bearbeiten]

  • optional in
/templates/TEMPLATENAME/index.html

suchen nach

{if ($smarty.const.TRACKING_COUNT_ADMIN_ACTIVE == 'true' && $smarty.session.customers_status.customers_status_id == '0') || $smarty.session.customers_status.customers_status_id != '0'}
  {if $smarty.const.TRACKING_PIWIK_ACTIVE == 'true'}
    {piwik url=$smarty.const.TRACKING_PIWIK_LOCAL_PATH id=$smarty.const.TRACKING_PIWIK_ID goal=$smarty.const.TRACKING_PIWIK_GOAL}
  {/if}
  {if $smarty.const.TRACKING_GOOGLEANALYTICS_ACTIVE == 'true'}
    {googleanalytics account=$smarty.const.TRACKING_GOOGLEANALYTICS_ID}
  {/if}
  {if $smarty.const.TRACKING_FACEBOOK_ACTIVE=='true'}
    {facebook id=$smarty.const.TRACKING_FACEBOOK_ID}
  {/if}
{/if}

Füge danach ein:

{if $smarty.const.GOOGLE_CERTIFIED_SHOPS_MERCHANT_ACTIVE == 'true'}
  {googlecertificate subaccount=$smarty.const.GOOGLE_SHOPPING_ID account=$smarty.const.GOOGLE_TRUSTED_ID}
{/if}

Newsletter-System abschalten[Bearbeiten]

  • optional in
/templates/TEMPLATENAME/module/account.html

Suche:

<h2>{#title_notification#}</h2>
<div class="highlightbox">
  <ul>
    <li><a href="{$LINK_NEWSLETTER}">{#text_newsletter#}</a></li>
  </ul>
</div>

Ersetze mit:

{if $LINK_NEWSLETTER}
<h2>{#title_notification#}</h2>
<div class="highlightbox">
  <ul>
    <li><a href="{$LINK_NEWSLETTER}">{#text_newsletter#}</a></li>
  </ul>
</div>
{/if}
/templates/TEMPLATENAME/module/create_account.html

Suche:

<h2>{#title_newsletter#}</h2>
<div class="highlightbox">
<table width="100%" border="0" cellspacing="0" cellpadding="4">
  <tr>
    <td width="25">{$CHECKBOX_NEWSLETTER}</td>
    <td>{#text_newsletter#}</td>
  </tr>
</table>
</div>

Ersetze mit:

{if $CHECKBOX_NEWSLETTER}
<h2>{#title_newsletter#}</h2>
<div class="highlightbox">
<table width="100%" border="0" cellspacing="0" cellpadding="4">
  <tr>
    <td width="25">{$CHECKBOX_NEWSLETTER}</td>
    <td>{#text_newsletter#}</td>
  </tr>
</table>
</div>
{/if}
/templates/TEMPLATENAME/module/create_account_guest.html   

Suche:

<h2>{#title_newsletter#}</h2>
<div class="highlightbox">
<table width="100%" border="0" cellspacing="0" cellpadding="4">
  <tr>
    <td width="25">{$CHECKBOX_NEWSLETTER}</td>
    <td>{#text_newsletter#}</td>
  </tr>
</table>
</div>

Ersetze mit:

{if $CHECKBOX_NEWSLETTER}
<h2>{#title_newsletter#}</h2>
<div class="highlightbox">
<table width="100%" border="0" cellspacing="0" cellpadding="4">
  <tr>
    <td width="25">{$CHECKBOX_NEWSLETTER}</td>
    <td>{#text_newsletter#}</td>
  </tr>
</table>
</div>
{/if}

Überarbeitung der checkout_payment falls Guthaben ausreicht um Kauf zu tätigen[Bearbeiten]

/templates/TEMPLATENAME/module/checkout_payment.html

Suche:

{if $GV_COVER != 'true'}
<h1>{#title_payment#}</h1>
<p>{#text_payment#}</p>
  {$PAYMENT_BLOCK}{$module_gift}
{else}
  <div class="infomessage" id="gccover"><b>{#text_gccover#}</b></div>
{/if}

Ersetze mit:

{if (!isset($GV_COVER) || $GV_COVER != 'true') && (!isset($NO_PAYMENT) || $NO_PAYMENT != 'true')}
  <h1>{#title_payment#}</h1>
  <p>{#text_payment#}</p>
  {$PAYMENT_BLOCK}{$module_gift}
{elseif isset($GV_COVER) && $GV_COVER == 'true'}
  <div class="infomessage" id="gccover"><b>{#text_gccover#}</b></div>
{elseif isset($NO_PAYMENT) && $NO_PAYMENT == 'true'}
  <div class="infomessage" id="nopayment"><b>{#text_nopayment#}</b></div>
{/if}

Erweiterung des Kontaktformulars um Datenschutz-Checkbox[Bearbeiten]

  • optional in
/templates/TEMPLATENAME/module/contact_us.html

Suche:

{config_load file="$language/lang_$language.conf" section="newsletter"}

Ersetze mit:

{config_load file="$language/lang_$language.conf" section="create_account"}
{config_load file="$language/lang_$language.conf" section="newsletter"}

Füge an gewünschter Stelle ein:

  {if $PRIVACY_CHECKBOX}
  <table width="100%" border="0" cellspacing="0" cellpadding="4">
    <tr>
      <td>{$PRIVACY_CHECKBOX}</td>
      <td width="100%"><strong>{#text_privacy_accept#}</strong> {$PRIVACY_LINK}</td>
    </tr>
  </table>
  {/if}

Neue Template-Datei für Wartungsmodus[Bearbeiten]

  • optional

Aus dem original xtc5 Template sind die folgenden Dateien ins eigene Template in die selben Ordner zu kopieren und/oder anzupassen:

/templates/xtc5/module/offline/login_shop.html

Erweiterung der Bestellbestätigungs-Druckansicht um Zahlungsinformationen[Bearbeiten]

  • optional in
/templates/TEMPLATENAME/module/print_order.html

Suche:

    {if $DELIVERY_DUTY_INFO}
    <div style="font-size:11px; margin: 10px 0; border:1px solid #a3a3a3;padding:5px;text-align: justify;">{#text_duty_info#}</div>
    {/if}

Füge danach ein:

    {if count($PAYMENT_INFO) > 0}
    <br/><br/>
    <table width="100%" border="0" cellpadding="0" cellspacing="0">
      <tr>
        <td>
          <table style="border:1px solid;" width="100%" border="0" cellpadding="0" cellspacing="0">
            {foreach name=aussen item=data from=$PAYMENT_INFO}
              <tr>
                <td class="small" colspan="2">
                  <strong>{$data.title|stripslashes}</strong>
                </td>
              </tr>
              {foreach name=aussen item=info from=$data.fields}
                <tr>
                  <td class="small">{if $info.title != ''}{$info.title|stripslashes}{else}&nbsp;{/if}</td>
                  <td class="small">{if $info.field}{$info.field|stripslashes}{else}&nbsp;{/if}</td>
                </tr>      
              {/foreach}
            {/foreach}
          </table>
        </td>
      </tr>
    </table>
    {/if}

Colorbox Popup in Template tpl_modified für Druckansicht auf checkout_success Seite verwenden[Bearbeiten]

  • optional in
/templates/tpl_modified/module/checkout_success.html

Suche:

<div class="button_left">{$FORM_ACTION_PRINT}{$BUTTON_PRINT}{$FORM_END}</div>

Ersetze mit:

<div class="button_left">{$FORM_ACTION_PRINT_LAYER}{$BUTTON_PRINT}{$FORM_END}</div>

Änderungen ab Version 2.0.2.0[Bearbeiten]

Erweiterung der Sonderangebote-Box für Startdatum[Bearbeiten]

  • optional in
/templates/TEMPLATENAME/source/boxes/specials.php

Suche:

                                          AND s.status = '1'
                                          AND (now() >= s.start_date
                                               OR s.start_date IS NULL)

Ersetze mit:

                                          ".SPECIALS_CONDITIONS_S."

Artikel-Links aus Warenkorb bei Artikeln mit Attributen mit entsprechender Attribut-Auswahl erweitern[Bearbeiten]

  • optional in
/templates/TEMPLATENAME/module/product_options/multi_options_1.html

Suche:

            <option value="{$item_data.ID}">{$item_data.TEXT} {if $item_data.PRICE != ''}{$item_data.PREFIX} {$item_data.PRICE}{/if} </option>

Ersetze mit:

            <option value="{$item_data.ID}"{if $item_data.CHECKED == '1'} selected="selected"{/if}>{$item_data.TEXT} {if $item_data.PRICE != ''}{$item_data.PREFIX} {$item_data.PRICE}{/if} </option>
/templates/TEMPLATENAME/module/product_options/product_options_dropdown.html

Suche:

            <option value="{$item_data.ID}">&nbsp;{$item_data.TEXT} {if $item_data.PRICE != ''}{$item_data.PREFIX} {$item_data.PRICE}{/if}&nbsp; </option>

Ersetze mit:

            <option value="{$item_data.ID}"{if $item_data.CHECKED == '1'} selected="selected"{/if}>&nbsp;{$item_data.TEXT} {if $item_data.PRICE != ''}{$item_data.PREFIX} {$item_data.PRICE}{/if}&nbsp; </option>
/templates/TEMPLATENAME/module/product_options/product_options_selection.html

Suche:

	            <input type="radio" name="id[{$options_data.ID}]" id="rdb_{$item_data.ID}" value="{$item_data.ID}" {if $smarty.foreach.key_data.first}checked="checked" {/if} />

Ersetze mit:

            <input type="radio" name="id[{$options_data.ID}]" id="rdb_{$item_data.ID}" value="{$item_data.ID}"{if $item_data.CHECKED == '1'} checked="checked"{/if} />
/templates/TEMPLATENAME/module/product_options/table_listing.html

Suche:

            {if $smarty.foreach.inner.iteration == 1}
              <input type="radio" name="id[{$options_data.ID}]" id="rdb_{$item_data.ID}" value="{$item_data.ID}" checked="checked" />
            {else}
              <input type="radio" name="id[{$options_data.ID}]" id="rdb_{$item_data.ID}" value="{$item_data.ID}" />
            {/if}

Ersetze mit:

            <input type="radio" name="id[{$options_data.ID}]" id="rdb_{$item_data.ID}" value="{$item_data.ID}"{if $item_data.CHECKED == '1'} checked="checked"{/if} />

Erweiterung für "PayPal Ratenkauf (paypalinstallment)"[Bearbeiten]

  • optional in
/templates/TEMPLATENAME/module/order_details.html

An gewünschter Stelle einfügen:

      {if $PAYPAL_INSTALLMENT}<br/>{$PAYPAL_INSTALLMENT}{/if}
/templates/TEMPLATENAME/module/product_info/product_info*.html

An gewünschter Stelle einfügen:

      {if $PAYPAL_INSTALLMENT}
        <br class="clearfix" />
        {$PAYPAL_INSTALLMENT}
      {/if}

Erweiterung der checkout_confirmation.html Seite für Anzeige des Firmensitzes (Vorgabe von VISA ab 01.02.2017)[Bearbeiten]

  • optional in
/templates/TEMPLATENAME/module/checkout_confirmation.html

Suche:

    {#text_information#}

Ersetze mit:

    {#text_information#|sprintf:$HEADQUARTER}

Verhindern von Mehrfachkäufen im Checkout[Bearbeiten]

  • optional in
/templates/TEMPLATENAME/javascript/general_bottom.js.php

Füge am Ende der Datei ein:

<script type="text/javascript">
  $('#button_checkout_confirmation').on('click',function() {
    $(this).hide();
  });
</script>

Fallback in Template tpl_modified für Colorbox Popup für Druckansicht auf checkout_success Seite verwenden[Bearbeiten]

  • optional in
/templates/tpl_modified/module/checkout_success.html

Suche:

<div class="button_left">{$FORM_ACTION_PRINT_LAYER}{$BUTTON_PRINT}{$FORM_END}</div>

Ersetze mit:

<div class="button_left">{if isset($FORM_ACTION_PRINT_LAYER)}{$FORM_ACTION_PRINT_LAYER}{else}{$FORM_ACTION_PRINT}{/if}{$BUTTON_PRINT}{$FORM_END}</div>

Änderungen ab Version 2.0.2.2[Bearbeiten]

Autocomplete Suche[Bearbeiten]

  • optional in
/templates/TEMPLATENAME/javascript/general_bottom.js.php

Füge am Ende der Datei ein:

<?php if (SEARCH_AC_STATUS == 'true') { ?>
<script type="text/javascript">
  var option = $('#suggestions');
  $(document).click(function(e){
    var target = $(e.target);
    if(!(target.is(option) || option.find(target).length)){
      ac_closing();
    }
  });
  var ac_pageSize = 8;
  var ac_page = 1;
  var ac_result = 0;
  var ac_show_page = '<?php echo AC_SHOW_PAGE; ?>';
  var ac_show_page_of = '<?php echo AC_SHOW_PAGE_OF; ?>';
  
  function ac_showPage(ac_page) {
    ac_result = Math.ceil($("#autocomplete_main").children().length/ac_pageSize);
    $('.autocomplete_content').hide();   
    $('.autocomplete_content').each(function(n) {    
      if (n >= (ac_pageSize * (ac_page - 1)) && n < (ac_pageSize * ac_page)) {
        $(this).show();
      }
    });
    $('#autocomplete_next').css('visibility', 'hidden');
    $('#autocomplete_prev').css('visibility', 'hidden');
    if (ac_page > 1) {
      $('#autocomplete_prev').css('visibility', 'visible');
    }
    if (ac_page < ac_result && ac_result > 1) {
      $('#autocomplete_next').css('visibility', 'visible');
    }
    $('#autocomplete_count').html(ac_show_page+ac_page+ac_show_page_of+ac_result);
  }
  function ac_prevPage() {
    if (ac_page == 1) {
      ac_page = ac_result;
    } else {
      ac_page--;
    }
    if (ac_page < 1) {
      ac_page = 1;
    }
    ac_showPage(ac_page);
  }
  function ac_nextPage() {
    if (ac_page == ac_result) {
      ac_page = 1;
    } else {
      ac_page++;
    }
    ac_showPage(ac_page);
  }
  function ac_lookup(inputString) {
    if(inputString.length == 0) {
      $('#suggestions').hide();
    } else {
      $.post("<?php echo xtc_href_link('api/autocomplete/autocomplete.php', '', $request_type); ?>", {queryString: ""+inputString+""}, function(data) {
        if(data.length > 0) {
          $('#suggestions').slideDown();
          $('#autoSuggestionsList').html(data);
          ac_showPage(1);
          $('#autocomplete_prev').click(ac_prevPage);
          $('#autocomplete_next').click(ac_nextPage);
        }
      });
    }
  }
</script>
<?php } ?>
<?php if (SEARCH_AC_STATUS == 'true' || (!strstr($PHP_SELF, FILENAME_SHOPPING_CART) && !strstr($PHP_SELF, 'checkout'))) { ?>  
<script type="text/javascript">
  function ac_closing() {
    setTimeout("$('#suggestions').slideUp();", 100);
    ac_page = 1;
  }
</script>
<?php } ?>
/templates/TEMPLATENAME/boxes/box_search.html

Füge am Ende der Datei ein:

<div class="suggestionsBox" id="suggestions" style="display:none;">
  <div class="suggestionList" id="autoSuggestionsList">&nbsp;</div>
</div>
/templates/TEMPLATENAME/source/boxes/search.php

Suche:

$box_smarty->assign('INPUT_SEARCH', xtc_draw_input_field('keywords', IMAGE_BUTTON_SEARCH, 'maxlength="30" onfocus="if(this.value==this.defaultValue) this.value=\'\';" onblur="if(this.value==\'\') this.value=this.defaultValue;"'));
$box_smarty->assign('BUTTON_SUBMIT', xtc_image_submit('button_quick_find.gif', IMAGE_BUTTON_SEARCH));

Ersetze mit:

$box_smarty->assign('INPUT_SEARCH', xtc_draw_input_field('keywords', IMAGE_BUTTON_SEARCH, 'id="inputString" maxlength="30" autocomplete="off" '.((SEARCH_AC_STATUS == 'true') ? 'onkeyup="ac_lookup(this.value);" ' : '').'onfocus="if(this.value==this.defaultValue) this.value=\'\';" onblur="if(this.value==\'\') this.value=this.defaultValue;"'));
$box_smarty->assign('BUTTON_SUBMIT', xtc_image_submit('button_quick_find.gif', IMAGE_BUTTON_SEARCH,''));
/templates/TEMPLATENAME/stylesheet.css

Füge am Ende der Datei ein:

/* START autocomplete */
#header #search {
  position:relative;
}
.suggestionsBox {
  position:absolute;
  right:0;
  margin:0px;
  width:400px;
  background-color:#f1f1f1;
  border:1px solid #ccc;
  color:#333;
  z-index:99999;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding: 10px 10px 3px 10px;
}
.suggestionList {
  margin:0px;
  padding:0px;
  max-height:600px;
  overflow:auto;
  padding-right:5px;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
.suggestionList li {
  border-bottom:1px solid #ddd;
  background-color:#f1f1f1;
  list-style:none;
}
.suggestionList li a.autocomplete {
  display:inline-block;
  padding:5px 0px;
  text-decoration: none;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  width:100%;
}
.suggestionList li a.autocomplete .autocomplete_image {
  float:left;
  display:block;
  width:40px;
  height:40px;
  overflow:hidden;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  border: 1px solid #ddd;
  margin-right:10px;
}
.suggestionList li a.autocomplete .autocomplete_image img {
  float:left;
  width:100%;
  height:auto;
}
.autocompletecloser {
  cursor:pointer;
}
#autocomplete_pagination {
  position:relative;
}
#autocomplete_pagination li {
  float:left;
  border: 0;
}
#autocomplete_pagination li:hover {
  background-color:#f1f1f1;
}
#autocomplete_prev {
  cursor:pointer;
  padding:5px;
  width:5%;
  text-align:left;
  font-size:15px;
}
#autocomplete_next {
  cursor: pointer;
  padding: 5px;
  width: 5%;
  float: right !important;
  text-align: right;
  font-size:15px;
}
#autocomplete_count {
  padding: 5px;
  width: 75%;
  text-align: center;
  position: absolute;
  margin-left: 7%;
  font-size:11px;
  font-weight:bold;
}
.autocomplete_error {
  padding:6px 0px 11px;
  display:inline-block;
  text-align:center;
  width:100%;
}
.hl_image {
  float:left;
  width: 60px;
  height:60px;
  overflow:hidden;
  padding: 2px;
  border: 1px solid #ddd;
  position:relative;
  display:block;
  margin: 0px 20px 0px 0px;
}
.hl_image img {
  max-width: 60px;
  max-height:60px;
  position:absolute;
  margin: auto;
  left:0px;
  right:0px;
  top:0px;
  bottom:0px;
}
.hl_text {
  float:left;
  display:block;
  width:290px;
  font-size:12px;
}
.hl_text_entry {
  display:block;
  padding: 0px 0px 8px 0px;
}
.hl_price {
  display:block;
  float:right;
  width:80px;
  text-align:right;
  font-weight:bold;
}
.hl_price .no_price {
  font-size:9px;
  line-height:11px;
  font-weight:normal;
  display:block;
  padding:0px 0 0 0;
  color:#333;
}
.hl_price .special_price {
  display:block;
  font-size:13px;
  line-height:19px;
  color:red;
}
.hl_price .small_price {
  font-size:9px;
  font-weight:normal;
  line-height:11px;
}
.hl_price .standard_price {
  display:block;
  font-size:13px;
  line-height:19px;
  color:#333;
}
a.autocomplete, a.autocomplete:link, a.autocomplete:visited, a.autocomplete:active, a.autocomplete:hover {
  background:transparent !important;
  text-decoration:none !important;
  outline:none !important;
  cursor:pointer !important;
}
a.autocomplete:link {
  color:#893769 !important;
  outline:none !important;
}
a.autocomplete:visited {
  color:#893769 !important;
  outline:none !important;
}
a.autocomplete:hover, a.autocomplete:active {
  color:#893769 !important;
  outline:none !important;
}
a.autocomplete:hover {
  color:#555 !important;
  text-decoration:underline !important;
  outline:none !important;
}
/* END autocomplete */

Die Datei

/templates/xtc5/module/autocomplete.html

in den eigenen Templateordner kopieren


CSS und Javascript Dateien kombinieren[Bearbeiten]

  • optional in
/templates/TEMPLATENAME/javascript/general_bottom.js.php

Suche:

if (COMPRESS_JAVASCRIPT == 'true') { 	  	
  require_once(DIR_FS_BOXES_INC.'combine_files.inc.php');
  $script_array = combine_files($script_array,$script_min,false);
}

foreach ($script_array as $script) {

Ersetze mit:

$this_f_time = filemtime(DIR_FS_CATALOG.DIR_TMPL_JS.'general_bottom.js.php');

if (COMPRESS_JAVASCRIPT == 'true') { 	  	
  require_once(DIR_FS_BOXES_INC.'combine_files.inc.php');
  $script_array = combine_files($script_array,$script_min,false,$this_f_time);
}

foreach ($script_array as $script) {
  $script .= strpos($script,$script_min) === false ? '?v=' . filemtime(DIR_FS_CATALOG.$script) : '';
/templates/TEMPLATENAME/css/general.css.php

Suche:

if (COMPRESS_STYLESHEET == 'true') {
  require_once(DIR_FS_BOXES_INC.'combine_files.inc.php');
  $css_array = combine_files($css_array,$css_min,true);
}

// Put CSS-Inline-Definitions here, these CSS-files will be loaded at the TOP of every page

foreach ($css_array as $css) {

Ersetze mit:

$this_f_time = filemtime(DIR_FS_CATALOG.DIR_TMPL_CSS.'general.css.php');

if (COMPRESS_STYLESHEET == 'true') {
  require_once(DIR_FS_BOXES_INC.'combine_files.inc.php');
  $css_array = combine_files($css_array,$css_min,true,$this_f_time);
}

// Put CSS-Inline-Definitions here, these CSS-files will be loaded at the TOP of every page

foreach ($css_array as $css) {
  $css .= strpos($css,$css_min) === false ? '?v=' . filemtime(DIR_FS_CATALOG.$css) : '';
/templates/TEMPLATENAME/css/general_bottom.css.php

Suche:

if (COMPRESS_STYLESHEET == 'true') {
  require_once(DIR_FS_BOXES_INC.'combine_files.inc.php');
  $css_array = combine_files($css_array,$css_min,true);
}
        
foreach ($css_array as $css) {

Ersetze mit:

$this_f_time = filemtime(DIR_FS_CATALOG.DIR_TMPL_CSS.'general_bottom.css.php');

if (COMPRESS_STYLESHEET == 'true') {
  require_once(DIR_FS_BOXES_INC.'combine_files.inc.php');
  $css_array = combine_files($css_array,$css_min,true);
}
        
foreach ($css_array as $css) {
  $css .= strpos($css,$css_min) === false ? '?v=' . filemtime(DIR_FS_CATALOG.$css) : '';

Die Datei

/templates/xtc5/source/inc/combine_files.inc.php

in den eigenen Templateordner kopieren

ACHTUNG: Für die Komprimierung der Javascript Dateien ist es erforderlich, dass die entsprechenden Javascript Dateien immer mit einem Semikolon abgeschlossen sind! Ein Beispiel einer in der Vergangenheit nicht funktionierenden Javascript Datei ist die "/templates/xtc5/javascript/jquery.alerts.min.js", welche in Shopversion 2.0.3.0 bereits korrigiert wurde.


Änderungen ab Version 2.0.3.0[Bearbeiten]

Differenzierte Erfolgs- und Fehlermeldungen[Bearbeiten]

  • zwingend notwendig
/templates/TEMPLATENAME/module/offline/login_shop.html

Suche:

{if $info_message != ''}<div class="{if isset($smarty.get.info) && $smarty.get.info == '1'}info{else}error{/if}message">{$info_message}</div>{/if}

Ersetze mit:

{if $info_message != ''}<div class="errormessage">{$info_message}</div>{/if}
{if $success_message != ''}<div class="infomessage">{$success_message}</div>{/if}
/templates/TEMPLATENAME/module/account_history_info.html

Suche:

{if $info_message}<div class="{if isset($smarty.get.info) && $smarty.get.info == '1'}info{else}error{/if}message">{$info_message}</div>{/if}

Ersetze mit:

{if $info_message}<div class="errormessage">{$info_message}</div>{/if}
{if $success_message != ''}<div class="infomessage">{$success_message}</div>{/if}
/templates/TEMPLATENAME/module/login.html

Suche:

{if $info_message != ''}<div class="{if isset($smarty.get.info) && $smarty.get.info == '1'}info{else}error{/if}message">{$info_message}</div>{/if}

Ersetze mit:

{if $info_message != ''}<div class="errormessage">{$info_message}</div>{/if}
{if $success_message != ''}<div class="infomessage">{$success_message}</div>{/if}
/templates/TEMPLATENAME/module/logoff.html

Suche:

{if $info_message}<div class="{if isset($smarty.get.info) && $smarty.get.info == '1'}info{else}error{/if}message">{$info_message}</div>{/if}

Ersetze mit:

{if $info_message}<div class="errormessage">{$info_message}</div>{/if}
{if $success_message != ''}<div class="infomessage">{$success_message}</div>{/if}
/templates/TEMPLATENAME/module/product_reviews.html

Suche:

<h1>{#heading_reviews#} {$PRODUCTS_NAME}</h1>

Füge danach ein:

{if $error != ''}<div class="errormessage">{$error}</div>{/if}
/templates/TEMPLATENAME/module/reviews.html

Suche:

<h1>{#heading_reviews#}</h1>

Füge danach ein:

{if $error != ''}<div class="errormessage">{$error}</div>{/if}
/templates/TEMPLATENAME/module/shopping_cart.html

Suche:

{if $info_message != ''}<div class="{if $smarty.get.info && $smarty.get.info == '1'}infomessage{else}errormessage{/if}">{$info_message}</div>{/if}
{if $coupon_message != ''}<div class="{if $smarty.get.info && $smarty.get.info == '1'}infomessage{else}errormessage{/if}">{$coupon_message}</div>{/if}

Ersetze mit:

{if $info_message != ''}<div class="errormessage">{$info_message}</div>{/if}
{if $coupon_message != ''}<div class="errormessage">{$coupon_message}</div>{/if}
{if $coupon_message_success != ''}<div class="infomessage">{$coupon_message_success}</div>{/if}

Suche:

  {if $info_message_3 != ''}<div class="{if $smarty.get.info && $smarty.get.info == '1'}infomessage{else}errormessage{/if}">{$info_message_3}</div>{/if}

Ersetze mit:

  {if $info_message_3 != ''}<div class="errormessage">{$info_message_3}</div>{/if}
  • optional in
/templates/TEMPLATENAME/module/gift_cart.html

Alternativ kann die Erfolgsmeldung für die Einlösung eines Gutscheins im Warenkorb auch in die "gift_cart.html" eingebaut werden.

Am Beispiel von tpl_modified:

Suche:

{if $coupon_message != ''}<div class="{if $smarty.get.info && $smarty.get.info == '1'}infomessage{else}errormessage{/if}">{$coupon_message}</div>{/if}

Ersetze mit:

{if $coupon_message != ''}<div class="errormessage">{$coupon_message}</div>{/if}
{if $success_message != ''}<div class="infomessage">{$success_message}</div>{/if}

Account erstellen optional[Bearbeiten]

  • optional in
/templates/TEMPLATENAME/module/login.html

Suche:

<br />
<div class="highlightbox">
  <h1>{#title_new#}</h1>
  <p>{#text_new#}</p>
  <p>{$BUTTON_NEW_ACCOUNT}</p>
</div>

Ersetze mit:

{if $account_option == 'account' or $account_option == 'both'}
<br />
<div class="highlightbox">
  <h1>{#title_new#}</h1>
  <p>{#text_new#}</p>
  <p>{$BUTTON_NEW_ACCOUNT}</p>
</div>
{/if}

Korrektur der "noimage.gif" Anzeige für die Hersteller-Info-Box[Bearbeiten]

  • optional in
/templates/TEMPLATENAME/source/boxes/manufacturer_info.php

Suche:

    if (xtc_not_null($manufacturer['manufacturers_image'])) {
      $image = DIR_WS_IMAGES . $manufacturer['manufacturers_image'];
      if (!file_exists($image)) {
        $image = DIR_WS_IMAGES . 'manufacturers/noimage.gif';
      }
    }

Ersetze mit:

    if ($manufacturer['manufacturers_image'] != '') {
      $image = DIR_WS_IMAGES.$manufacturer['manufacturers_image'];
    }    
    if (!is_file(DIR_FS_CATALOG.$image)) {
      $image = ((MANUFACTURER_IMAGE_SHOW_NO_IMAGE == 'true') ? DIR_WS_IMAGES.'manufacturers/noimage.gif' : '');
    }

Änderungen ab Version 2.0.4.0[Bearbeiten]

Fehler in Bestell-Historie-Box korrigiert[Bearbeiten]

  • zwingend notwendig
/templates/TEMPLATENAME/source/boxes/order_history.php

Suche:

if (!$box_smarty->is_cached(CURRENT_TEMPLATE.'/boxes/box_newsletter.html', $cache_id) || !$cache) {

Ersetze mit:

if (!$box_smarty->is_cached(CURRENT_TEMPLATE.'/boxes/box_order_history.html', $cache_id) || !$cache) {

Coupon- / Gutschein-Erweiterung für Newsletter-Anmeldung[Bearbeiten]

  • optional in

Änderungen siehe https://trac.modified-shop.org/changeset/11082/

Aus dem original xtc5 bzw. tpl_modified Template ist die folgende Datei ins eigene Template in den selben Ordner zu kopieren:

/templates/tpl_modified/mail/english/newsletter_mail.html
/templates/tpl_modified/mail/english/newsletter_mail.txt
/templates/tpl_modified/mail/german/newsletter_mail.html
/templates/tpl_modified/mail/german/newsletter_mail.txt
/templates/xtc5/mail/english/newsletter_mail.html
/templates/xtc5/mail/english/newsletter_mail.txt
/templates/xtc5/mail/german/newsletter_mail.html
/templates/xtc5/mail/german/newsletter_mail.txt

Update für easyCredit[Bearbeiten]

  • optional in

Änderungen siehe https://trac.modified-shop.org/changeset/11083/

/templates/TEMPLATENAME/module/product_info/product_info_*.html

Suche:

        {if $PAYPAL_INSTALLMENT}
          <br class="clearfix" />
          {$PAYPAL_INSTALLMENT}
        {/if}

Füge danach ein:

        {if $EASYCREDIT}
          <br class="clearfix" />
          {$EASYCREDIT}
        {/if}

Korrektur der Download-Links in Text E-Mails[Bearbeiten]

  • zwingend notwendig

Aus dem original xtc5 bzw. tpl_modified Template sind die folgenden Dateien ins eigene Template in die selben Ordner zu kopieren und/oder anzupassen:

/templates/tpl_modified/mail/german/downloads.txt
/templates/tpl_modified/mail/english/downloads.txt
/templates/xtc5/mail/german/downloads.txt
/templates/xtc5/mail/english/downloads.txt

Alternativ können die Dateien auch manuell wie folgt ergänzt werden:

Für beide Templates gilt:

Die folgenden Dateien wie folgt bearbeiten:

/templates/TEMPLATENAME/mail/german/downloads.txt
/templates/TEMPLATENAME/mail/english/downloads.txt

Suche:

{$dl_data.download_link}

Ersetze mit:

{if $dl_data.download_link_plain}{$dl_data.download_link_plain}{else}{$dl_data.download_link}{/if}

Erweiterung der Newsletter-Anmeldung um Checkbox für Datenschutzrichtlinien[Bearbeiten]

  • zwingend notwendig

Aus dem original xtc5 bzw. tpl_modified Template sind die folgenden Dateien ins eigene Template in die selben Ordner zu kopieren und/oder anzupassen:

/templates/tpl_modified/module/newsletter.html
/templates/xtc5/module/newsletter.html

Alternativ können die Dateien auch manuell wie folgt ergänzt werden:

Für Template xtc5:

Die folgende Datei wie folgt bearbeiten:

/templates/xtc5/module/newsletter.html

Suche:

{config_load file="$language/lang_$language.conf" section="newsletter"}

Füge davor ein:

{config_load file="$language/lang_$language.conf" section="create_account"}

An gewünschter Stelle einfügen:

    {if $PRIVACY_CHECKBOX}
    <br />
    <table>
      <tr>
        <td class="checkbox">{$PRIVACY_CHECKBOX}</td>
        <td class="midi td_full"><strong><label for="privacy">{#text_privacy_accept#}</label></strong> {$PRIVACY_LINK}</td>
      </tr>
    </table>
    {/if}

Für Template tpl_modified:

Die folgende Datei wie folgt bearbeiten:

/templates/xtc5/module/newsletter.html

Suche:

{config_load file="$language/lang_$language.conf" section="newsletter"}
{config_load file="lang_`$language`.custom"}
{config_load file="lang_`$language`.section" section="newsletter"}

Ersetze mit:

{config_load file="$language/lang_$language.conf" section="create_account"}
{config_load file="$language/lang_$language.conf" section="newsletter"}
{config_load file="lang_`$language`.custom"}
{config_load file="lang_`$language`.section" section="create_account"}
{config_load file="lang_`$language`.section" section="newsletter"}

An gewünschter Stelle einfügen:

      {if $PRIVACY_CHECKBOX}
      <br />
      <table>
        <tr>
          <td class="checkbox">{$PRIVACY_CHECKBOX}</td>
          <td class="midi td_full"><strong><label for="privacy">{#text_privacy_accept#}</label></strong> {$PRIVACY_LINK}</td>
        </tr>
      </table>
      {/if}

Erweiterung der Bestellbestätigungs E-Mails um Datenschutzrichtlinien[Bearbeiten]

  • zwingend notwendig in
/templates/TEMPLATENAME/mail/SPRACHE/order_mail.txt
/templates/TEMPLATENAME/mail/SPRACHE/order_mail_step.txt

Suche:

{$AGB_TXT}

Füge danach ein:

{$PRIVACY_POLICY_TXT}
/templates/TEMPLATENAME/mail/SPRACHE/order_mail.html
/templates/TEMPLATENAME/mail/SPRACHE/order_mail_step.html

Suche:

{if $AGB_HTML neq ''}
<br />
<table width="100%" border="0" cellspacing="0" cellpadding="5">
  <tr>
    <td style="border-top: 1px dotted #999;"><font size="1" face="Tahoma, Verdana, sans-serif">{$AGB_HTML}</font></td>
  </tr>
</table>
<br />
{/if}

Füge danach ein:

{if $PRIVACY_POLICY_HTML neq ''}
<br />
<table width="100%" border="0" cellspacing="0" cellpadding="5">
  <tr>
    <td style="border-top: 1px dotted #999;"><font size="1" face="Tahoma, Verdana, sans-serif">{$PRIVACY_POLICY_HTML}</font></td>
  </tr>
</table>
<br />
{/if}

Überarbeitung der Druckansicht Routine in Template tpl_modified auf checkout_success Seite[Bearbeiten]

  • optional in
/templates/tpl_modified/module/checkout_success.html

Suche:

<div class="button_left">{if isset($FORM_ACTION_PRINT_LAYER)}{$FORM_ACTION_PRINT_LAYER}{else}{$FORM_ACTION_PRINT}{/if}{$BUTTON_PRINT}{$FORM_END}</div>

Ersetze mit:

{if isset($BUTTON_PRINT_LAYER)}
  <div style="float:left;">{$BUTTON_PRINT_LAYER}</div>
{else}
  {if isset($FORM_ACTION_PRINT_LAYER)}{$FORM_ACTION_PRINT_LAYER}{else}{$FORM_ACTION_PRINT}{/if}<div style="float:left;">{$BUTTON_PRINT}</div>{$FORM_END}
{/if}

Änderungen ab Version 2.0.4.2[Bearbeiten]

Leeren HTML-Code in Sprachbox vermeiden bei nur einer aktivierten Sprache[Bearbeiten]

  • optional in
/templates/tpl_modified/boxes/box_languages.html

Suche:

{if isset($BOX_CONTENT)}
  {config_load file="$language/lang_$language.conf" section="boxes"}
  {config_load file="lang_`$language`.custom"}
  {$BOX_CONTENT}
{/if}

Ersetze mit:

{config_load file="$language/lang_$language.conf" section="boxes"}
{config_load file="lang_`$language`.custom"}
{if isset($BOX_CONTENT)}{$BOX_CONTENT}{/if}
/templates/tpl_modified/index.html

Suche:

    {if isset($box_LANGUAGES) && $box_LANGUAGES != ''}<div id="languages">{$box_LANGUAGES}</div>{/if}

Ersetze mit:

    {if isset($box_LANGUAGES) && trim($box_LANGUAGES) != ''}<div id="languages">{$box_LANGUAGES}</div>{/if}
/templates/xtc5/boxes/box_languages.html

Suche:

{if isset($BOX_CONTENT)}
  {config_load file="$language/lang_$language.conf" section="boxes"}
  {$BOX_CONTENT}
{/if}

Ersetze mit:

{config_load file="$language/lang_$language.conf" section="boxes"}
{if isset($BOX_CONTENT)}{$BOX_CONTENT}{/if}
/templates/tpl_modified/index.html

Suche:

  <div id="topmenuwrap">

Ersetze mit:

  <div id="topmenuwrap" class="cf">

Suche:

    <div id="languages">{if isset($box_LANGUAGES)}{$box_LANGUAGES}{/if}</div>

Ersetze mit:

    {if isset($box_LANGUAGES) && trim($box_LANGUAGES) != ''}<div id="languages">{$box_LANGUAGES}</div>{/if}

Änderungen ab Version 2.0.5.0[Bearbeiten]

Datenschutzerklärung im Checkout bestätigen[Bearbeiten]

  • zwingend notwendig
/templates/TEMPLATENAME/module/checkout_payment.html

Suche (2x):

      {if isset($REVOCATION_checkbox)}
        <div class="checkoutconditions">
          {$REVOCATION_checkbox} <strong><label for="revocation">{#text_accept_revocation#}</label></strong>&nbsp;{$REVOCATION_LINK}
        </div>
      {/if}

Füge davor ein:

      {if isset($PRIVACY_checkbox)}
        <div class="checkoutconditions">
          {$PRIVACY_checkbox} <strong><label for="privacy">{#text_privacy_accept#}</label></strong>&nbsp;{$PRIVACY_LINK}
        </div>
      {/if}

Überarbeitung des Captchas zur Vorbereitung für zusätzliche Validierung durch Google reCAPTCHA (Kauf-Modul erforderlich!)[Bearbeiten]

  • zwingend notwendig

Aus dem original tpl_modified bzw. xtc5 Template sind die folgenden Dateien ins eigene Template in die selben Ordner zu kopieren und/oder anzupassen:

/templates/tpl_modified/module/contact_us.html
/templates/tpl_modified/module/create_account.html
/templates/tpl_modified/module/create_account_guest.html
/templates/tpl_modified/module/login.html
/templates/tpl_modified/module/newsletter.html
/templates/tpl_modified/module/password_double_opt_in.html
/templates/tpl_modified/module/product_reviews_write.html
/templates/xtc5/module/contact_us.html
/templates/xtc5/module/create_account.html
/templates/xtc5/module/create_account_guest.html
/templates/xtc5/module/login.html
/templates/xtc5/module/newsletter.html
/templates/xtc5/module/password_double_opt_in.html
/templates/xtc5/module/product_reviews_write.html

Alternativ können die Dateien auch manuell wie folgt ergänzt werden:

Für Template xtc5:

Die folgende Datei wie folgt bearbeiten:

/templates/xtc5/module/contact_us.html

Suche:

    {if $INPUT_CODE}
      <tr>
        <td>{#text_sec_code#}</td>
        <td>{$VVIMG}</td>
      </tr>
      <tr>
        <td>{#text_inp_code#}*</td>
        <td width="59%">{$INPUT_CODE}</td>
      </tr>
    {/if}

Ersetze mit:

    {if $VVIMG}
      <tr>
        <td>{#text_sec_code#}</td>
        <td>{$VVIMG}</td>
      </tr>
    {/if}
    {if $INPUT_CODE}
      <tr>
        <td>{#text_inp_code#}*</td>
        <td width="59%">{$INPUT_CODE}</td>
      </tr>
    {/if}

Die folgende Datei wie folgt bearbeiten:

/templates/xtc5/module/create_account.html

Suche:

  {if $INPUT_VVCODE}
    <tr>
      <td style="white-space:nowrap;"><strong>{#text_sec_code#}:</strong></td>
      <td>{$VVIMG}</td>
    </tr>
    <tr>
      <td style="white-space:nowrap;"><strong>{#text_sec_code#}:</strong></td>
      <td>{$INPUT_VVCODE}</td>
    </tr>
  {/if}

Ersetze mit:

  {if $VVIMG}
    <tr>
      <td style="white-space:nowrap;"><strong>{#text_sec_code#}:</strong></td>
      <td>{$VVIMG}</td>
    </tr>
  {/if}
  {if $INPUT_VVCODE}
    <tr>
      <td style="white-space:nowrap;"><strong>{#text_sec_code#}:</strong></td>
      <td>{$INPUT_VVCODE}</td>
    </tr>
  {/if}

Die folgende Datei wie folgt bearbeiten:

/templates/xtc5/module/create_account_guest.html

Suche:

{if $INPUT_VVCODE}
<table width="100%" border="0" cellspacing="0" cellpadding="4">
  <tr>
    <td style="white-space:nowrap;"><strong>{#text_sec_code#}:</strong></td>
    <td>{$VVIMG}</td>
  </tr>
  <tr>
    <td style="white-space:nowrap;"><strong>{#text_sec_code#}:</strong></td>
    <td>{$INPUT_VVCODE}</td>
  </tr>
</table>
{/if}

Ersetze mit:

{if $INPUT_VVCODE || $VVIMG}
<table width="100%" border="0" cellspacing="0" cellpadding="4">
  {if $VVIMG}
    <tr>
      <td style="white-space:nowrap;"><strong>{#text_sec_code#}:</strong></td>
      <td>{$VVIMG}</td>
    </tr>
  {/if}
  {if $INPUT_VVCODE}
    <tr>
      <td style="white-space:nowrap;"><strong>{#text_sec_code#}:</strong></td>
      <td>{$INPUT_VVCODE}</td>
    </tr>
  {/if}
</table>
{/if}

Die folgende Datei wie folgt bearbeiten:

/templates/xtc5/module/login.html

Suche:

    {if $INPUT_CODE}
      <tr>
        <td style="white-space:nowrap;"><strong>{#text_sec_code#}:</strong></td>
        <td>{$VVIMG}</td>
        <td>&nbsp;</td>
      </tr>
      <tr>
        <td style="white-space:nowrap;"><strong>{#text_sec_code#}:</strong></td>
        <td>{$INPUT_CODE}</td>
        <td>&nbsp;</td>
      </tr>
    {/if}

Ersetze mit:

    {if $VVIMG}
      <tr>
        <td style="white-space:nowrap;"><strong>{#text_sec_code#}:</strong></td>
        <td>{$VVIMG}</td>
        <td>&nbsp;</td>
      </tr>
    {/if}
    {if $INPUT_CODE}
      <tr>
        <td style="white-space:nowrap;"><strong>{#text_sec_code#}:</strong></td>
        <td>{$INPUT_CODE}</td>
        <td>&nbsp;</td>
      </tr>
    {/if}

Die folgende Datei wie folgt bearbeiten:

/templates/xtc5/module/newsletter.html

Suche:

      {if $INPUT_CODE}
        <tr>
          <td width="140"><strong>{#text_sec_code#}:</strong></td>
          <td>{$VVIMG}</td>
        </tr>
        <tr>
          <td><strong>{#text_sec_code#}:</strong></td>
          <td>{$INPUT_CODE}</td>
        </tr>
      {/if}

Ersetze mit:

      {if $VVIMG}
        <tr>
          <td width="140"><strong>{#text_sec_code#}:</strong></td>
          <td>{$VVIMG}</td>
        </tr>
      {/if}
      {if $INPUT_CODE}
        <tr>
          <td><strong>{#text_sec_code#}:</strong></td>
          <td>{$INPUT_CODE}</td>
        </tr>
      {/if}

Die folgende Datei wie folgt bearbeiten:

/templates/xtc5/module/password_double_opt_in.html

Suche:

  {if $INPUT_CODE}
    <tr>
      <td width="130"><strong>{#text_sec_code#}:</strong></td>
      <td><strong>{$VVIMG}</strong></td>
    </tr>
    <tr>
      <td><strong>{#text_sec_code#}:</strong></td>
      <td>{$INPUT_CODE}</td>
    </tr>
  {/if}

Ersetze mit:

  {if $VVIMG}
    <tr>
      <td width="130"><strong>{#text_sec_code#}:</strong></td>
      <td><strong>{$VVIMG}</strong></td>
    </tr>
  {/if}
  {if $INPUT_CODE}
    <tr>
      <td><strong>{#text_sec_code#}:</strong></td>
      <td>{$INPUT_CODE}</td>
    </tr>
  {/if}

Die folgende Datei wie folgt bearbeiten:

/templates/xtc5/module/product_reviews_write.html

Suche:

      {if $INPUT_CODE}
        <tr>
          <td width="140"><strong>{#text_sec_code#}:</strong></td>
          <td>{$VVIMG}</td>
        </tr>
        <tr>
          <td><strong>{#text_sec_code#}:</strong></td>
          <td>{$INPUT_CODE}</td>
        </tr>
      {/if}

Ersetze mit:

      {if $VVIMG}
        <tr>
          <td width="140"><strong>{#text_sec_code#}:</strong></td>
          <td>{$VVIMG}</td>
        </tr>
      {/if}
      {if $INPUT_CODE}
        <tr>
          <td><strong>{#text_sec_code#}:</strong></td>
          <td>{$INPUT_CODE}</td>
        </tr>
      {/if}

Für Template tpl_modified:

Die folgende Datei wie folgt bearbeiten:

/templates/tpl_modified/module/contact_us.html

Suche:

        {if $INPUT_CODE}
        <tr>
          <td><span class="fieldtext">{#text_sec_code#}</span><span class="stern">{$VVIMG}</span></td>
        </tr>
        <tr>
          <td><span class="fieldtext">{#text_inp_code#}</span><span class="stern">{$INPUT_CODE}<span class="inputRequirement"> *</span></span></td>
        </tr>
        {/if}

Ersetze mit:

        {if $VVIMG}
        <tr>
          <td><span class="fieldtext">{#text_sec_code#}</span><span class="stern">{$VVIMG}</span></td>
        </tr>
        {/if}
        {if $INPUT_CODE}
        <tr>
          <td><span class="fieldtext">{#text_inp_code#}</span><span class="stern">{$INPUT_CODE}<span class="inputRequirement"> *</span></span></td>
        </tr>
        {/if}

Die folgende Datei wie folgt bearbeiten:

/templates/tpl_modified/module/create_account.html

Suche:

      {if $INPUT_VVCODE}
        <tr>
          <td><span class="fieldtext">{#text_sec_code#}</span>{$VVIMG}</td>
        </tr>
        <tr>
          <td><span class="fieldtext">{#text_sec_code#}</span><span class="stern">{$INPUT_VVCODE}</span></td>
        </tr>
      {/if}

Ersetze mit:

      {if $VVIMG}
        <tr>
          <td><span class="fieldtext">{#text_sec_code#}</span>{$VVIMG}</td>
        </tr>
      {/if}
      {if $INPUT_VVCODE}
        <tr>
          <td><span class="fieldtext">{#text_sec_code#}</span><span class="stern">{$INPUT_VVCODE}</span></td>
        </tr>
      {/if}

Die folgende Datei wie folgt bearbeiten:

/templates/tpl_modified/module/create_account_guest.html

Suche:

    {if $INPUT_VVCODE}
    <br />
    <table>
      <tr>
        <td><span class="fieldtext">{#text_sec_code#}</span>{$VVIMG}</td>
      </tr>
      <tr>
        <td><span class="fieldtext">{#text_sec_code#}</span><span class="stern">{$INPUT_VVCODE}</span></td>
      </tr>
    </table>
    {/if}

Ersetze mit:

    {if $INPUT_VVCODE || $VVIMG}
    <br />
    <table>
      {if $VVIMG}
        <tr>
          <td><span class="fieldtext">{#text_sec_code#}</span>{$VVIMG}</td>
        </tr>
      {/if}
      {if $INPUT_VVCODE}
        <tr>
          <td><span class="fieldtext">{#text_sec_code#}</span><span class="stern">{$INPUT_VVCODE}</span></td>
        </tr>
      {/if}
    </table>
    {/if}

Die folgende Datei wie folgt bearbeiten:

/templates/tpl_modified/module/login.html

Suche:

      {if $INPUT_CODE}
        <tr>
          <td><span class="fieldtext">{#text_sec_code#}</span>{$VVIMG}</td>
        </tr>
        <tr>
          <td><span class="fieldtext">{#text_sec_code#}</span>{$INPUT_CODE}</td>
        </tr>
      {/if}

Ersetze mit:

      {if $VVIMG}
        <tr>
          <td><span class="fieldtext">{#text_sec_code#}</span>{$VVIMG}</td>
        </tr>
      {/if}
      {if $INPUT_CODE}
        <tr>
          <td><span class="fieldtext">{#text_sec_code#}</span>{$INPUT_CODE}</td>
        </tr>
      {/if}

Die folgende Datei wie folgt bearbeiten:

/templates/tpl_modified/module/newsletter.html

Suche:

        {if $INPUT_CODE}
        <tr>
          <td><span class="fieldtext">{#text_sec_code#}</span><span class="stern">{$VVIMG}</span></td>
        </tr>
        <tr>
          <td><span class="fieldtext">{#text_sec_code#}</span><span class="stern">{$INPUT_CODE}<span class="inputRequirement"> *</span></span></td>
        </tr>
        {/if}

Ersetze mit:

        {if $VVIMG}
        <tr>
          <td><span class="fieldtext">{#text_sec_code#}</span><span class="stern">{$VVIMG}</span></td>
        </tr>
        {/if}
        {if $INPUT_CODE}
        <tr>
          <td><span class="fieldtext">{#text_sec_code#}</span><span class="stern">{$INPUT_CODE}<span class="inputRequirement"> *</span></span></td>
        </tr>
        {/if}

Die folgende Datei wie folgt bearbeiten:

/templates/tpl_modified/module/password_double_opt_in.html

Suche:

      {if $INPUT_CODE}
      <tr>
        <td><span class="fieldtext">{#text_sec_code#}:</span>{$VVIMG}</td>
      </tr>
      <tr>
        <td><span class="fieldtext">{#text_sec_code#}:</span>{$INPUT_CODE}</td>
      </tr>
      {/if}

Ersetze mit:

      {if $VVIMG}
      <tr>
        <td><span class="fieldtext">{#text_sec_code#}:</span>{$VVIMG}</td>
      </tr>
      {/if}
      {if $INPUT_CODE}
      <tr>
        <td><span class="fieldtext">{#text_sec_code#}:</span>{$INPUT_CODE}</td>
      </tr>
      {/if}

Die folgende Datei wie folgt bearbeiten:

/templates/tpl_modified/module/product_reviews_write.html

Suche:

      {if $INPUT_CODE}
      <tr>
        <td><span class="fieldtext">{#text_sec_code#}:</span><span class="stern">{$VVIMG}</span></td>
      </tr>
      <tr>
        <td><span class="fieldtext">{#text_sec_code#}:</span><span class="stern">{$INPUT_CODE}<span class="inputRequirement"> *</span></span></td>
      </tr>
      {/if}

Ersetze mit:

      {if $VVIMG}
      <tr>
        <td><span class="fieldtext">{#text_sec_code#}:</span><span class="stern">{$VVIMG}</span></td>
      </tr>
      {/if}
      {if $INPUT_CODE}
      <tr>
        <td><span class="fieldtext">{#text_sec_code#}:</span><span class="stern">{$INPUT_CODE}<span class="inputRequirement"> *</span></span></td>
      </tr>
      {/if}

Fehler in product_reviews_write.html bei Nutzung von Smarty 2 behoben[Bearbeiten]

  • zwingend notwendig, sofern folgender Code in Datei vorhanden
/templates/TEMPLATENAME/module/product_reviews_write.html

Suche:

{foreach item=rating from=$INPUT_RATING_ARRAY|array_reverse}

Ersetze mit:

{foreach item=rating from=$INPUT_RATING_ARRAY|@array_reverse}

Update der Breadcrumb[Bearbeiten]

  • zwingend notwendig

Aus dem original xtc5 bzw. tpl_modified Template sind die folgenden Dateien ins eigene Template in die selben Ordner zu kopieren:

/templates/tpl_modified/module/breadcrumb.html
/templates/xtc5/module/breadcrumb.html

Löschen nicht mehr benötigter Template-Dateien[Bearbeiten]

  • optional in

Aus dem Template können die folgenden, nicht mehr verwendeten Dateien gelöscht werden:

/templates/TEMPLATENAME/admin/billsafe_print_order.html
/templates/TEMPLATENAME/module/new_products_overview.html
/templates/TEMPLATENAME/module/specials.html

Differenzierte Erfolgs- und Fehlermeldungen[Bearbeiten]

  • zwingend notwendig
/templates/TEMPLATENAME/module/product_reviews.html

Suche:

{if $error != ''}<div class="errormessage">{$error}</div>{/if}

Ersetze mit:

{if $error != ''}<div class="errormessage">{$error}</div>{/if}
{if $success_message != ''}<div class="infomessage">{$success_message}</div>{/if}

Überarbeitung der CSS- & JS-Komprimierung im Template[Bearbeiten]

  • zwingend notwendig

Aus dem original tpl_modified bzw. xtc5 Template sind die folgenden Dateien ins eigene Template in die selben Ordner zu kopieren und/oder anzupassen:

/templates/tpl_modified/source/inc/combine_files.inc.php
/templates/xtc5/source/inc/combine_files.inc.php

Alternativ können die Dateien auch manuell wie folgt ergänzt werden:

Für beide Templates gilt:

Die folgende Datei wie folgt bearbeiten:

/templates/TEMPLATENAME/source/inc/combine_files.inc.php

Suche:

      if ($compactor->save($f_min) === true) {
        $f_array = array($f_min.'?v='.$f_min_ts);
      }

Ersetze mit:

      if ($compactor->save($f_min) === true) {
        $f_min_ts = is_writeable(DIR_FS_CATALOG.$f_min) ? filemtime(DIR_FS_CATALOG.$f_min) : false;
        $f_array = array($f_min.'?v='.$f_min_ts);
      }

Eigene Template-Datei für Ausgabe von Fehlermeldungen[Bearbeiten]

  • optional

Aus dem original tpl_modified bzw. xtc5 Template sind die folgenden Dateien ins eigene Template in die selben Ordner zu kopieren und/oder anzupassen:

/templates/tpl_modified/module/message_stack.html
/templates/xtc5/module/message_stack.html

Wir haben hier ein Fallback eingebaut für den Fall, dass die Datei nicht vorhanden ist. Dann werden die Fehlermeldungen wie bisher ohne eigene Template-Datei ausgegeben.


Fehlerkorrektur im Bundeslanddropdown in Template tpl_modified[Bearbeiten]

  • zwingend notwendig

Aus dem original tpl_modified ist die folgende Datei ins eigene Template (falls auf Basis von tpl_modified erstellt) in den selben Ordner zu kopieren und/oder anzupassen:

/templates/tpl_modified/javascript/get_states.js.php

Alternativ kann die Datei auch manuell wie folgt ergänzt werden:

Die folgende Datei wie folgt bearbeiten:

/templates/TEMPLATENAME/javascript/get_states.js.php

Suche:

  $("[name='state']").parent().parent().show();

Ersetze mit:

  $("[name='state']").parent().parent().parent().show();

Suche:

  $("[name='state']").parent().parent().hide();

Ersetze mit:

  $("[name='state']").parent().parent().parent().hide();

Suche:

      stateSelect.parent().parent().show();

Ersetze mit:

      stateSelect.parent().parent().parent().show();

Markierung des Bundeslanddropdowns als Pflichtfeld, falls vorhanden[Bearbeiten]

  • zwingend notwendig

Aus dem original tpl_modified bzw. xtc5 Template sind die folgenden Dateien ins eigene Template in die selben Ordner zu kopieren und/oder anzupassen:

/templates/tpl_modified/javascript/get_states.js.php
/templates/xtc5/javascript/get_states.js.php

Alternativ können die Dateien auch manuell wie folgt ergänzt werden:

Für beide Templates gilt:

Die folgende Datei wie folgt bearbeiten:

/templates/TEMPLATENAME/javascript/get_states.js.php

Suche:

      $("[name='state']").replaceWith('<select name="state"></select>');

Ersetze mit:

      $("[name='state']").replaceWith('<select name="state"></select>&nbsp;<span class="inputRequirement">*</span>');

Cache-Fehler in Sprach-Box korrigieren[Bearbeiten]

  • zwingend notwendig

Aus dem original tpl_modified bzw. xtc5 Template sind die folgenden Dateien ins eigene Template in die selben Ordner zu kopieren und/oder anzupassen:

/templates/tpl_modified/source/boxes/languages.php
/templates/xtc5/source/boxes/languages.php

Alternativ können die Dateien auch manuell wie folgt ergänzt werden:

Für beide Templates gilt:

Die folgende Datei wie folgt bearbeiten:

/templates/TEMPLATENAME/source/boxes/languages.php

Suche:

$cache_id = md5($_SESSION['language'].basename($PHP_SELF));

Ersetze mit:

$cache_id = md5($_SESSION['language'].basename($PHP_SELF).xtc_get_all_get_params());

Cache von Boxen nicht abhängig von Währung[Bearbeiten]

  • zwingend notwendig

Aus dem original tpl_modified bzw. xtc5 Template sind die folgenden Dateien ins eigene Template in die selben Ordner zu kopieren und/oder anzupassen:

/templates/tpl_modified/source/boxes/best_sellers.php
/templates/tpl_modified/source/boxes/currencies.php
/templates/tpl_modified/source/boxes/last_viewed.php
/templates/tpl_modified/source/boxes/specials.php
/templates/tpl_modified/source/boxes/whats_new.php
/templates/xtc5/source/boxes/best_sellers.php
/templates/xtc5/source/boxes/currencies.php
/templates/xtc5/source/boxes/last_viewed.php
/templates/xtc5/source/boxes/specials.php
/templates/xtc5/source/boxes/whats_new.php

Alternativ können die Dateien auch manuell wie folgt ergänzt werden:

Für beide Templates gilt:

Die folgende Datei wie folgt bearbeiten:

/templates/TEMPLATENAME/source/boxes/best_sellers.php

Suche:

$cache_id = md5($_SESSION['language'].$current_category_id);

Ersetze mit:

$cache_id = md5($_SESSION['currency'].$_SESSION['language'].$current_category_id);

Die folgende Datei wie folgt bearbeiten:

/templates/TEMPLATENAME/source/boxes/currencies.php

Suche:

$cache_id = md5($_SESSION['language'] . $_SESSION['currency']);

Ersetze mit:

$cache_id = md5($_SESSION['currency'].$_SESSION['language'] . $_SESSION['currency']);

Die folgende Datei wie folgt bearbeiten:

/templates/TEMPLATENAME/source/boxes/last_viewed.php

Suche:

  $cache_id = md5($_SESSION['language'].$_SESSION['customers_status']['customers_status'].$_SESSION['tracking']['products_history'][$random_last_viewed]);

Ersetze mit:

  $cache_id = md5($_SESSION['currency'].$_SESSION['language'].$_SESSION['customers_status']['customers_status'].$_SESSION['tracking']['products_history'][$random_last_viewed]);

Die folgende Datei wie folgt bearbeiten:

/templates/TEMPLATENAME/source/boxes/specials.php

Suche:

  $cache_id = md5($_SESSION['language'].$specials['products_id']);

Ersetze mit:

  $cache_id = md5($_SESSION['currency'].$_SESSION['language'].$specials['products_id']);

Die folgende Datei wie folgt bearbeiten:

/templates/TEMPLATENAME/source/boxes/whats_new.php

Suche:

  $cache_id = md5($_SESSION['language'].$whats_new['products_id']);

Ersetze mit:

  $cache_id = md5($_SESSION['currency'].$_SESSION['language'].$whats_new['products_id']);

Wegfall der Funktion xtc_product_link[Bearbeiten]

  • zwingend notwendig

Aus dem original tpl_modified bzw. xtc5 Template sind die folgenden Dateien ins eigene Template in die selben Ordner zu kopieren und/oder anzupassen:

/templates/tpl_modified/source/boxes/reviews.php
/templates/tpl_modified/source/boxes/shopping_cart.php
/templates/xtc5/source/boxes/reviews.php
/templates/xtc5/source/boxes/shopping_cart.php

Alternativ können die Dateien auch manuell wie folgt ergänzt werden:

Für beide Templates gilt:

Die folgende Datei wie folgt bearbeiten:

/templates/TEMPLATENAME/source/boxes/reviews.php

Suche:

    $box_smarty->assign('PRODUCTS_LINK', xtc_href_link(FILENAME_PRODUCT_REVIEWS_WRITE, xtc_product_link($product->data['products_id'],$product->data['products_name'])));

Ersetze mit:

    $box_smarty->assign('PRODUCTS_LINK', xtc_href_link(FILENAME_PRODUCT_REVIEWS_WRITE, 'products_id='.$product->data['products_id']));

Die folgende Datei wie folgt bearbeiten:

/templates/TEMPLATENAME/source/boxes/shopping_cart.php

Suche:

                                     'LINK' => xtc_href_link(FILENAME_PRODUCT_INFO, xtc_product_link($products[$i]['id'], $products[$i]['name'])),

Ersetze mit:

                                     'LINK' => xtc_href_link(FILENAME_PRODUCT_INFO, 'products_id='.$products[$i]['id']),

Korrektur des bxSliders für Google Chrome[Bearbeiten]

  • zwingend notwendig, sofern Datei in eigenem Template vorhanden

Aus dem original tpl_modified ist die folgende Datei ins eigene Template in die selben Ordner zu kopieren und/oder anzupassen:

/templates/tpl_modified/javascript/jquery.bxslider.min.js

Erweiterung der Adresseingabe im Checkout um Checkbox für Standardadresse[Bearbeiten]

  • zwingend notwendig

Aus dem original xtc5 bzw. tpl_modified Template sind die folgenden Dateien ins eigene Template in die selben Ordner zu kopieren:

/templates/tpl_modified/module/checkout_new_address.html
/templates/xtc5/module/checkout_new_address.html

Alternativ können die Dateien auch manuell wie folgt ergänzt werden:

Für Template xtc5:

Die folgende Datei wie folgt bearbeiten:

/templates/xtc5/module/checkout_new_address.html

Suche:

{config_load file="$language/lang_$language.conf" section="checkout_new_address"}

Füge davor ein:

{config_load file="$language/lang_$language.conf" section="address_book_process"}

Für Template tpl_modified:

Die folgende Datei wie folgt bearbeiten:

/templates/tpl_modified/module/checkout_new_address.html

Suche:

{config_load file="$language/lang_$language.conf" section="checkout_new_address"}
{config_load file="lang_`$language`.custom"}
{config_load file="lang_`$language`.section" section="checkout_new_address"}

Ersetze mit:

{config_load file="$language/lang_$language.conf" section="address_book_process"}
{config_load file="$language/lang_$language.conf" section="checkout_new_address"}
{config_load file="lang_`$language`.custom"}
{config_load file="lang_`$language`.section" section="address_book_process"}
{config_load file="lang_`$language`.section" section="checkout_new_address"}

Korrektur der PayPal Express Checkbox auf checkout_confirmation Seite[Bearbeiten]

  • optional in
/templates/TEMPLATENAME/stylesheet.css

Betrifft nur die Templates tpl_modified, tpl_modified_responsive_1 & tpl_modified_responsive_2

Suche:

/* END checkout */

Ersetze mit:

.button_right_checkout .checkoutconditions input[type=checkbox] {
  vertical-align: middle;
  bottom: inherit !important;
}
/* END checkout */

Austausch von jquery.alerts durch jquery.alertable[Bearbeiten]

  • zwingend notwendig

Folgende Dateien können gelöscht werden:

/templates/tpl_modified/css/jquery.alerts.css
/templates/tpl_modified/javascript/jquery.alerts.min.js
/templates/xtc5/css/jquery.alerts.css
/templates/xtc5/javascript/jquery.alerts.min.js

Aus dem original xtc5 bzw. tpl_modified Template sind die folgenden Dateien ins eigene Template in die selben Ordner zu kopieren:

/templates/tpl_modified/css/general_bottom.css.php
/templates/tpl_modified/css/jquery.alertable.css
/templates/tpl_modified/javascript/general_bottom.js.php
/templates/tpl_modified/javascript/jquery.alertable.min.js
/templates/xtc5/css/general_bottom.css.php
/templates/xtc5/css/jquery.alertable.css
/templates/xtc5/javascript/general_bottom.js.php
/templates/xtc5/javascript/jquery.alertable.min.js

Alternativ können die Dateien general.js.php & general_bottom.js.php auch manuell wie folgt ergänzt werden:

Für beide Templates gilt:

Die folgende Datei wie folgt bearbeiten:

/templates/TEMPLATENAME/css/general_bottom.css.php

Suche:

    DIR_TMPL_CSS.'jquery.alerts.css',

Ersetze mit:

    DIR_TMPL_CSS.'jquery.alertable.css',

Die folgende Datei wie folgt bearbeiten:

/templates/TEMPLATENAME/javascript/general_bottom.js.php

Suche:

  DIR_TMPL_JS.'jquery.alerts.min.js',

Ersetze mit:

  DIR_TMPL_JS.'jquery.alertable.min.js',

Suche:

  $.alerts.overlayOpacity = .2;
  $.alerts.overlayColor = '#000';
  function alert(message, title) {
    title = title || 'Information';
    jAlert(message, title);
  }

Ersetze mit:

  function alert(message, title) {
    title = title || 'Information';
    $.alertable.alert('<span id="alertable-title"></span><span id="alertable-content"></span>', { 
      html: true 
    });
    $('#alertable-content').html(message);
    $('#alertable-title').html(title);
  }

Update jQuery auf Version 3.4.1[Bearbeiten]

  • zwingend notwendig

Aus dem original xtc5 bzw. tpl_modified Template sind die folgenden Dateien ins eigene Template in die selben Ordner zu kopieren:

/templates/tpl_modified/admin/print_order.html
/templates/tpl_modified/admin/print_packingslip.html
/templates/tpl_modified/javascript/general.js.php
/templates/tpl_modified/javascript/general_bottom.js.php
/templates/tpl_modified/javascript/get_states.js.php
/templates/tpl_modified/javascript/jquery.min.js
/templates/tpl_modified/module/print_order.html
/templates/tpl_modified/module/print_product_info.html
/templates/xtc5/javascript/general.js.php
/templates/xtc5/javascript/general_bottom.js.php
/templates/xtc5/javascript/get_states.js.php
/templates/xtc5/javascript/jquery.min.js
/templates/xtc5/javascript/jquery-migrate-1.4.1.min.js

Alternativ können die Dateien general.js.php & general_bottom.js.php auch manuell wie folgt ergänzt werden:

Für Template tpl_modified:

Die folgenden Dateien wie folgt bearbeiten:

/templates/tpl_modified/admin/print_order.html
/templates/tpl_modified/admin/print_packingslip.html
/templates/tpl_modified/module/print_order.html
/templates/tpl_modified/module/print_product_info.html

Suche:

  <script src="{$tpl_path}javascript/jquery-1.8.3.min.js" type="text/javascript"></script>

Ersetze mit:

  <script src="{$tpl_path}javascript/jquery.min.js" type="text/javascript"></script>

Die folgenden Dateien wie folgt bearbeiten:

/templates/tpl_modified/javascript/general.js.php
/templates/tpl_modified/javascript/general_bottom.js.php

Suche:

  <script src="<?php echo DIR_WS_BASE.DIR_TMPL_JS; ?>jquery-1.8.3.min.js" type="text/javascript"></script>

Ersetze mit:

  <script src="<?php echo DIR_WS_BASE.DIR_TMPL_JS; ?>jquery.min.js" type="text/javascript"></script>

Für Template xtc5:

Die folgenden Dateien wie folgt bearbeiten:

/templates/xtc5/javascript/general.js.php
/templates/xtc5/javascript/general_bottom.js.php

Suche:

  <script src="<?php echo DIR_WS_BASE.DIR_TMPL_JS; ?>jquery-1.8.3.min.js" type="text/javascript"></script>

Ersetze mit:

  <script src="<?php echo DIR_WS_BASE.DIR_TMPL_JS; ?>jquery.min.js" type="text/javascript"></script>
  <script src="<?php echo DIR_WS_BASE.DIR_TMPL_JS; ?>jquery-migrate-1.4.1.min.js" type="text/javascript"></script>

Korrektur der Anzeige auf checkout_confirmation Seite, wenn weder Express-Checkout noch Widerruf angezeigt werden[Bearbeiten]

  • optional in
/templates/TEMPLATENAME/module/checkout_confirmation.html

Betrifft nur die Templates tpl_modified, tpl_modified_responsive_1 & tpl_modified_responsive_2

Suche:

<div class="twoColums last">
  <div class="highlightbox plainright">
    {if $REVOCATION}
      {$TEXT_AGB_CHECKOUT}
    {/if}  
  </div>
  {if isset($EXPRESS)}
  <div class="highlightbox plainright">
    <h4>{#heading_checkout_express#}</h4>
    {if isset($success_message)}
      <div class="infomessage">{$success_message}</div>
    {else}
      {$FORM_ACTION}
      <span style="float:right;margin-left:20px;">{$BUTTON_SUBMIT}</span>
      {#text_express_checkout_information#} {if isset($EXPRESS_LINK)}{$EXPRESS_LINK}{/if}
      {$FORM_END}
    {/if}
  </div>
  {/if}
</div>

Ersetze mit:

{if $REVOCATION || isset($EXPRESS)}
  <div class="twoColums last">
    <div class="highlightbox plainright">
      {if $REVOCATION}
        {$TEXT_AGB_CHECKOUT}
      {/if}
    </div>
    {if isset($EXPRESS)}
    <div class="highlightbox plainright">
      <h4>{#heading_checkout_express#}</h4>
      {if isset($success_message)}
        <div class="infomessage">{$success_message}</div>
      {else}
        {$FORM_ACTION}
        <span style="float:right;margin-left:20px;">{$BUTTON_SUBMIT}</span>
        {#text_express_checkout_information#} {if isset($EXPRESS_LINK)}{$EXPRESS_LINK}{/if}
        {$FORM_END}
      {/if}
    </div>
    {/if}
  </div>
{/if}

Unbeabsichtigtes Skalieren von Artikel-Info-Bildern[Bearbeiten]

  • optional in
/templates/TEMPLATENAME/stylesheet.css

Betrifft nur die Templates tpl_modified, tpl_modified_responsive_1 & tpl_modified_responsive_2

Suche:

.pd_big_image {
  position:relative;
  width:240px;
  min-height:240px;
  margin: 0px 0px 0px 0px;
  border:1px solid #eee;
}
.pd_big_image img {
  position:absolute;
  margin: auto;
  left:0px;
  right:0px;
  bottom:0px;
  top:0px;
  max-width:240px;
  height:auto;
}

Ersetze mit:

.pd_big_image {
  position:relative;
  width:240px;
  margin: 0px 0px 0px 0px;
  border:1px solid #eee;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  text-align:center;
  overflow:hidden;
}
.pd_big_image:before {
  content: '';
  padding-top: 100%;
  display: block;
}
.pd_big_image img {
  margin: auto;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  max-width: 25%;
  max-height: 25%;
  font-size: 0;
  -webkit-transform: scale(4.0);
  -moz-transform: scale(4.0);
  -ms-transform: scale(4.0);
  -o-transform: scale(4.0);
  transform: scale(4.0);
}

Rich snippets hinzufügen für URL, priceValidUntil und sku, gtin8, gtin12, gtin13, gtin14, mpn, isbn[Bearbeiten]

  • optional in
/templates/TEMPLATENAME/module/product_info/product_info*.html

Betrifft nur die Templates tpl_modified, tpl_modified_responsive_1 & tpl_modified_responsive_2

Suche:

        {if $PRODUCTS_MODEL != ''}<div class="pd_inforow"><strong>{#model#}</strong> {$PRODUCTS_MODEL}<meta itemprop="model" content="{$PRODUCTS_MODEL}" /></div>{/if}  
        {if $PRODUCTS_EAN != ''}<div class="pd_inforow"><strong>{#ean#}</strong> {$PRODUCTS_EAN}</div>{/if}

Ersetze mit:

        {if $PRODUCTS_MODEL != ''}<div class="pd_inforow"><strong>{#model#}</strong> <span itemprop="sku">{$PRODUCTS_MODEL}</span></div>{/if}
        {if $PRODUCTS_EAN != ''}<div class="pd_inforow"><strong>{#ean#}</strong> <span itemprop="gtin{$PRODUCTS_EAN|strlen}">{$PRODUCTS_EAN}</span></div>{/if}

Suche:

      <div class="pd_summarybox" itemprop="offers" itemscope itemtype="http://schema.org/Offer"> 
        <meta itemprop="priceCurrency" content="{$smarty.session.currency}" />

Ersetze mit:

      <div class="pd_summarybox" itemprop="offers" itemscope itemtype="http://schema.org/Offer">
        <meta itemprop="url" content="{$PRODUCTS_LINK}" /> 
        <meta itemprop="priceCurrency" content="{$smarty.session.currency}" />
        {if $PRODUCTS_EXPIRES_C}<meta itemprop="priceValidUntil" content="{$PRODUCTS_EXPIRES_C}" />{/if}

Suchfeld für HTML5 anpassen[Bearbeiten]

  • zwingend notwendig

Aus dem original xtc5 bzw. tpl_modified Template sind die folgenden Dateien ins eigene Template in die selben Ordner zu kopieren:

/templates/tpl_modified/source/boxes/search.php
/templates/xtc5/source/boxes/search.php

Alternativ kann die Datei auch manuell wie folgt ergänzt werden:

Die folgende Datei wie folgt bearbeiten:

/templates/TEMPLATENAME/source/boxes/search.php

Suche:

  $box_smarty->assign('INPUT_SEARCH', xtc_draw_input_field('keywords', IMAGE_BUTTON_SEARCH, 'id="inputString" maxlength="30" autocomplete="off" '.((SEARCH_AC_STATUS == 'true') ? 'onkeyup="ac_lookup(this.value);" ' : '').'onfocus="if(this.value==this.defaultValue) this.value=\'\';" onblur="if(this.value==\'\') this.value=this.defaultValue;"'));

Ersetze mit:

  $box_smarty->assign('INPUT_SEARCH', xtc_draw_input_field('keywords', '', 'placeholder="'.IMAGE_BUTTON_SEARCH.'" id="inputString" maxlength="30" autocomplete="off" '.((SEARCH_AC_STATUS == 'true') ? 'onkeyup="ac_lookup(this.value);" ' : '')));

Ausgewähltes Attribut in Popup-Ansicht (Link [Mehr]) auf checkout_confirmation Seite hervorheben[Bearbeiten]

  • zwingend notwendig

Aus dem original xtc5 bzw. tpl_modified Template sind die folgenden Dateien ins eigene Template in die selben Ordner zu kopieren:

/templates/tpl_modified/stylesheet.css
/templates/tpl_modified/module/print_product_info.html
/templates/xtc5/stylesheet.css
/templates/xtc5/module/print_product_info.html

Alternativ können die Dateien auch manuell wie folgt ergänzt werden:

Für Template tpl_modified:

Die folgende Datei wie folgt bearbeiten:

/templates/tpl_modified/stylesheet.css

Suche:

ul.printinfolist {
  margin-left:15px;
}

Füge danach ein:

ul.printinfolist li.active {
  font-weight:bold;
}

Die folgende Datei wie folgt bearbeiten:

/templates/tpl_modified/module/print_product_info.html

Suche:

      <li>{$module_data.GROUP}: {$module_data.NAME}</li>

Ersetze mit:

      <li{if $module_data.CHECKED == 1} class="active"{/if}>{$module_data.GROUP}: {$module_data.NAME}</li>

Für Template xtc5:

Die folgende Datei wie folgt bearbeiten:

/templates/xtc5/stylesheet.css

Suche:

/* POPUPS PRODUCTINFO */
body.popupproductinfo {
  padding:15px;
  background:#fff none;
}

Füge danach ein:

body.popupproductinfo ul li.active {
  font-weight:bold;
}

Suche:

/* Tomcraft - 2009-09-22 - FIX DER AUFZÄHLUNGEN IN DER DRUCKANSICHT */
.popupproductinfo #productinfowrap ol, .popupproductinfo #productinfowrap ul {
  margin:10px 0 10px 186px;
}

Ersetze mit:

/* Tomcraft - 2009-09-22 - FIX DER AUFZÄHLUNGEN IN DER DRUCKANSICHT */
.popupproductinfo #productinfowrap ol, .popupproductinfo #productinfowrap ul {
  margin:10px 0 10px 205px;
}

Die folgende Datei wie folgt bearbeiten:

/templates/xtc5/module/print_product_info.html

Suche:

        <li>{$module_data.GROUP}: {$module_data.NAME}</li>

Ersetze mit:

        <li{if $module_data.CHECKED == 1} class="active"{/if}>{$module_data.GROUP}: {$module_data.NAME}</li>

Cookie Hinweis im Template ausgeben[Bearbeiten]

  • zwingend notwendig

Aus dem original xtc5 bzw. tpl_modified Template sind die folgenden Dateien ins eigene Template in die selben Ordner zu kopieren:

/templates/tpl_modified/stylesheet.css
/templates/tpl_modified/css/general_bottom.css.php
/templates/tpl_modified/css/jquery.cookieconsent.css
/templates/tpl_modified/javascript/general_bottom.js.php
/templates/tpl_modified/javascript/jquery.cookieconsent.min.js
/templates/xtc5/css/general_bottom.css.php
/templates/xtc5/css/jquery.cookieconsent.css
/templates/xtc5/javascript/general_bottom.js.php
/templates/xtc5/javascript/jquery.cookieconsent.min.js
/templates/xtc5/javascript/thickbox.js

Alternativ kann die Datei auch manuell wie folgt ergänzt werden:

Für Template tpl_modified:

Die folgende Datei wie folgt bearbeiten:

/templates/tpl_modified/stylesheet.css

Suche:

/* 7. START Footer */
#layout_footer {
  background: #434343 url(img/bg_layout_footer.jpg) repeat-x;
  min-height:280px;
  margin: 40px 0 0 0;  
  padding: 0 0 20px 0;
}

Ersetze mit:

/* 7. START Footer */
#layout_footer {
  background: #434343 url(img/bg_layout_footer.jpg) repeat-x;
  min-height:280px;
  margin: 40px 0 0 0;  
  padding: 0 0 70px 0;
}

Suche:

.copyright {
  margin:0 auto;
  text-align:center;
  color:#666;
  font-size:11px;
  padding:0 0 10px 0;
  margin: -40px 0 0 0;
}

Ersetze mit:

.copyright {
  margin:0 auto;
  text-align:center;
  color:#666;
  font-size:11px;
  padding:0 0 10px 0;
  margin: -90px 0 0 0;
}

Die folgende Datei wie folgt bearbeiten:

/templates/tpl_modified/css/general_bottom.css.php

Suche:

    DIR_TMPL_CSS.'jquery.alertable.css',

Füge danach ein:

    DIR_TMPL_CSS.'jquery.cookieconsent.css',

Die folgende Datei wie folgt bearbeiten:

/templates/tpl_modified/javascript/general_bottom.js.php

Suche:

  DIR_TMPL_JS.'jquery.bxslider.min.js',

Füge danach ein:

  DIR_TMPL_JS.'jquery.cookieconsent.min.js',

Suche:

    $(".iframe").colorbox({iframe:true, width:"780", height:"560", maxWidth: "90%", maxHeight: "90%", fixed: true});

Ersetze mit:

    $(".iframe, .cc-link").colorbox({iframe:true, width:"780", height:"560", maxWidth: "90%", maxHeight: "90%", fixed: true});

Füge am Ende der Datei ein:

<script>  
  var consent_type = "<?php echo ((TRACKING_GOOGLEANALYTICS_ACTIVE == 'true' || TRACKING_PIWIK_ACTIVE == 'true' || TRACKING_FACEBOOK_ACTIVE == 'true' || (defined('TRACKING_CUSTOM_ACTIVE') && TRACKING_CUSTOM_ACTIVE == 'true')) ? 'opt-in' : 'info'); ?>";
  $("body").append('<div id="cookieconsent"></div>');
  
  window.cookieconsent.initialise({
    container: document.getElementById("cookieconsent"),
    type: consent_type,
    revokable: ((consent_type == 'info') ? false : true),
    animateRevokable: ((consent_type == 'info') ? true : false),
    content: {
      "message": ((consent_type == 'info') ? "<?php echo TEXT_COOKIECONSENT_MESSAGE_INFO; ?>" : "<?php echo TEXT_COOKIECONSENT_MESSAGE_TRACKING; ?>"),
      "dismiss": "<?php echo TEXT_COOKIECONSENT_DISSMISS; ?>",
      "link": "<?php echo TEXT_COOKIECONSENT_LINK; ?>",
      "href": "<?php echo ((isset($privacy_link)) ? $privacy_link : xtc_href_link(FILENAME_POPUP_CONTENT, 'coID=2', $request_type)); ?>",
      "policy": "<?php echo TEXT_COOKIECONSENT_POLICY; ?>",
      "allow": "<?php echo TEXT_COOKIECONSENT_ALLOW; ?>",
      "deny": "<?php echo TEXT_COOKIECONSENT_DENY; ?>"
    },
    cookie: {
      "name": "MODtrack",
      "path": "<?php echo DIR_WS_CATALOG; ?>",
      "domain": "<?php echo (xtc_not_null($current_domain) ? '.'.$current_domain : ''); ?>",
      "secure": <?php echo ((HTTP_SERVER == HTTPS_SERVER && $request_type == 'SSL') ? "true" : "false"); ?>
    },
    onInitialise: function(status) {
      if (status == cookieconsent.status.allow) {
        TrackingScripts();
      } else if (status != cookieconsent.status.dismiss) {
        DeleteCookies();
      }
    },
    onStatusChange: function(status, chosenBefore) {
      if (this.hasConsented()) {
        TrackingScripts();
      } else {
        DeleteCookies();
      }
    }
  });
  
  function TrackingScripts() {
    if ($.isFunction(window.TrackingGoogle)) {
      TrackingGoogle();
    }
    if ($.isFunction(window.TrackingPiwik)) {
      TrackingPiwik();
    }
    if ($.isFunction(window.TrackingFacebook)) {
      TrackingFacebook();
    }
  }

  function DeleteCookies() {
    var essential = ["MODsid", "MODtest", "MODtrack", "paypal"];
    var cookies = document.cookie.split(";");
    
    for (var c = 0; c < cookies.length; c++) {
      var cookie_name = encodeURIComponent(cookies[c].trim().split("=")[0]);      
      for (var e = 0; e < essential.length; e++) {        
        if (cookie_name.indexOf(essential[e]) >= 0) {
          delete cookies[c];      
        }
      }
    }
    
    var cookies = cookies.filter(function (el) { 
      return el != null; 
    });
    
    if (cookies.length > 0) {
      for (var c = 0; c < cookies.length; c++) {
        var cookie_name = encodeURIComponent(cookies[c].trim().split("=")[0]);
        var d = window.location.hostname.split(".");
        while (d.length > 0) {
          var p = location.pathname.split('/');
          while (p.length > 0) {
            document.cookie = cookie_name + '=; expires=Thu, 01-Jan-1970 00:00:01 GMT; path=' + p.join('/');
            document.cookie = cookie_name + '=; expires=Thu, 01-Jan-1970 00:00:01 GMT; domain=' + d.join('.') + ' ; path=' + p.join('/');
            document.cookie = cookie_name + '=; expires=Thu, 01-Jan-1970 00:00:01 GMT; domain=.' + d.join('.') + ' ; path=' + p.join('/');
            p.pop();
          };
          d.shift();
        }        
      }
    }
  }
</script>

Für Template xtc5:

Die folgende Datei wie folgt bearbeiten:

/templates/xtc5/css/general_bottom.css.php

Suche:

    DIR_TMPL_CSS.'thickbox.css',

Füge danach ein:

    DIR_TMPL_CSS.'jquery.cookieconsent.css',

Die folgende Datei wie folgt bearbeiten:

/templates/xtc5/javascript/general_bottom.js.php

Suche:

  DIR_TMPL_JS.'thickbox.js',

Füge danach ein:

  DIR_TMPL_JS.'jquery.cookieconsent.min.js',

Füge am Ende der Datei ein:

<script>  
  var consent_type = "<?php echo ((TRACKING_GOOGLEANALYTICS_ACTIVE == 'true' || TRACKING_PIWIK_ACTIVE == 'true' || TRACKING_FACEBOOK_ACTIVE == 'true' || (defined('TRACKING_CUSTOM_ACTIVE') && TRACKING_CUSTOM_ACTIVE == 'true')) ? 'opt-in' : 'info'); ?>";
  $("body").append('<div id="cookieconsent"></div>');
  
  window.cookieconsent.initialise({
    container: document.getElementById("cookieconsent"),
    type: consent_type,
    revokable: ((consent_type == 'info') ? false : true),
    animateRevokable: ((consent_type == 'info') ? true : false),
    content: {
      "message": ((consent_type == 'info') ? "<?php echo TEXT_COOKIECONSENT_MESSAGE_INFO; ?>" : "<?php echo TEXT_COOKIECONSENT_MESSAGE_TRACKING; ?>"),
      "dismiss": "<?php echo TEXT_COOKIECONSENT_DISSMISS; ?>",
      "link": "<?php echo TEXT_COOKIECONSENT_LINK; ?>",
      "href": "<?php echo ((isset($privacy_link)) ? $privacy_link : xtc_href_link(FILENAME_POPUP_CONTENT, 'coID=2'.(defined('TPL_POPUP_CONTENT_LINK_PARAMETERS') ? TPL_POPUP_CONTENT_LINK_PARAMETERS : POPUP_CONTENT_LINK_PARAMETERS), $request_type)); ?>",
      "policy": "<?php echo TEXT_COOKIECONSENT_POLICY; ?>",
      "allow": "<?php echo TEXT_COOKIECONSENT_ALLOW; ?>",
      "deny": "<?php echo TEXT_COOKIECONSENT_DENY; ?>"
    },
    cookie: {
      "name": "MODtrack",
      "path": "<?php echo DIR_WS_CATALOG; ?>",
      "domain": "<?php echo (xtc_not_null($current_domain) ? '.'.$current_domain : ''); ?>",
      "secure": <?php echo ((HTTP_SERVER == HTTPS_SERVER && $request_type == 'SSL') ? "true" : "false"); ?>
    },
    onInitialise: function(status) {
      if (status == cookieconsent.status.allow) {
        TrackingScripts();
      } else if (status != cookieconsent.status.dismiss) {
        DeleteCookies();
      }
    },
    onStatusChange: function(status, chosenBefore) {
      if (this.hasConsented()) {
        TrackingScripts();
      } else {
        DeleteCookies();
      }
    }
  });
  
  function TrackingScripts() {
    if ($.isFunction(window.TrackingGoogle)) {
      TrackingGoogle();
    }
    if ($.isFunction(window.TrackingPiwik)) {
      TrackingPiwik();
    }
    if ($.isFunction(window.TrackingFacebook)) {
      TrackingFacebook();
    }
  }

  function DeleteCookies() {
    var essential = ["MODsid", "MODtest", "MODtrack"];
    var cookies = document.cookie.split(";");
    
    for (var c = 0; c < cookies.length; c++) {
      var cookie_name = encodeURIComponent(cookies[c].trim().split("=")[0]);      
      for (var e = 0; e < essential.length; e++) {        
        if (cookie_name.indexOf(essential[e]) >= 0) {
          delete cookies[c];      
        }
      }
    }

    var cookies = cookies.filter(function (el) { 
      return el != null; 
    });
    
    if (cookies.length > 0) {
      for (var c = 0; c < cookies.length; c++) {
        var cookie_name = encodeURIComponent(cookies[c].trim().split("=")[0]);
        var d = window.location.hostname.split(".");
        while (d.length > 0) {
          var p = location.pathname.split('/');
          while (p.length > 0) {
            document.cookie = cookie_name + '=; expires=Thu, 01-Jan-1970 00:00:01 GMT; path=' + p.join('/');
            document.cookie = cookie_name + '=; expires=Thu, 01-Jan-1970 00:00:01 GMT; domain=' + d.join('.') + ' ; path=' + p.join('/');
            document.cookie = cookie_name + '=; expires=Thu, 01-Jan-1970 00:00:01 GMT; domain=.' + d.join('.') + ' ; path=' + p.join('/');
            p.pop();
          };
          d.shift();
        }        
      }
    }
  }
</script>

Die folgende Datei wie folgt bearbeiten:

/templates/xtc5/javascript/thickbox.js

Suche:

var tb_pathToImage=DIR_WS_BASE+"images/loadingAnimation.gif";$(document).ready(function(){tb_init('a.thickbox, area.thickbox, input.thickbox');

Ersetze mit:

var tb_pathToImage=DIR_WS_BASE+"images/loadingAnimation.gif";$(document).ready(function(){tb_init('a.thickbox, area.thickbox, input.thickbox, a.cc-link');

Überarbeitung der favicons[Bearbeiten]

  • zwingend notwendig

Aus dem original xtc5 bzw. tpl_modified Template sind die folgenden Dateien ins eigene Template in die selben Ordner zu kopieren:

/templates/tpl_modified/favicons/site.webmanifest
/templates/xtc5/favicons/site.webmanifest

Anzeige der AGB unabhängig von Anzeige Widerruf auf checkout_confirmation Seite[Bearbeiten]

  • zwingend notwendig

Aus dem original xtc5 bzw. tpl_modified Template sind die folgenden Dateien ins eigene Template in die selben Ordner zu kopieren:

/templates/tpl_modified/module/checkout_confirmation.html
/templates/xtc5/module/checkout_confirmation.html

Alternativ kann die Datei auch manuell wie folgt ergänzt werden:

Für Template tpl_modified:

Die folgende Datei wie folgt bearbeiten:

/templates/tpl_modified/module/checkout_confirmation.html

Suche:

{if $REVOCATION || isset($EXPRESS)}
  <div class="twoColums last">
    <div class="highlightbox plainright">
      {if $REVOCATION}
        {$TEXT_AGB_CHECKOUT}
      {/if}
    </div>

Ersetze mit:

{if $TEXT_AGB_CHECKOUT || isset($EXPRESS)}
  <div class="twoColums last">
    <div class="highlightbox plainright">
      {if $TEXT_AGB_CHECKOUT}
        {$TEXT_AGB_CHECKOUT}
      {/if}
    </div>

Für Template xtc5:

Die folgende Datei wie folgt bearbeiten:

/templates/xtc5/module/checkout_confirmation.html

Suche:

  {if $REVOCATION}
  <div class="checkoutInfoBoxes red">
    {$TEXT_AGB_CHECKOUT}
  </div>
  {/if}

Ersetze mit:

  {if $TEXT_AGB_CHECKOUT}
  <div class="checkoutInfoBoxes red">
    {$TEXT_AGB_CHECKOUT}
  </div>
  {/if}

Korrektur eines HTML Fehlers in checkout_confirmation.html der reponsive Templates[Bearbeiten]

  • optional in
/templates/TEMPLATENAME/module/checkout_confirmation.html

Betrifft nur die Templates tpl_modified_responsive_1 & tpl_modified_responsive_2

Suche:

  <div class="button_right_checkout">{$CHECKOUT_FORM}{if $MODULE_BUTTONS != ''}{$MODULE_BUTTONS}{/if}<div class="cssButtonPos12">{$CHECKOUT_BUTTON}</div></div>

Ersetze mit:

  <div class="button_right_checkout">{$CHECKOUT_FORM}{if $MODULE_BUTTONS != ''}{$MODULE_BUTTONS}{/if}<div class="cssButtonPos12">{$CHECKOUT_BUTTON|replace:"</form>":""}</div></form></div>

Artikeleigenschaften auf der print_product_info Seite anzeigen[Bearbeiten]

  • zwingend notwendig

Aus dem original xtc5 bzw. tpl_modified Template sind die folgenden Dateien ins eigene Template in die selben Ordner zu kopieren:

/templates/tpl_modified/module/print_product_info.html
/templates/xtc5/module/print_product_info.html
/templates/xtc5/stylesheet.css

Alternativ kann die Datei auch manuell wie folgt ergänzt werden:

Für Template tpl_modified:

Die folgende Datei wie folgt bearbeiten:

/templates/tpl_modified/module/print_product_info.html

Suche:

  {if $module_content != ''}
  <h2>{#options#}</h2>    
  <ul class="printinfolist">
    {foreach name=aussen item=module_data from=$module_content}
      <li{if $module_data.CHECKED == 1} class="active"{/if}>{$module_data.GROUP}: {$module_data.NAME}</li>
    {/foreach}
  </ul>    
  {/if}

  <h2>{#price#}</h2>

Ersetze mit:

  {if $module_content != ''}
  <h4 class="detailbox">{#options#}</h4>    
  <ul class="printinfolist">
    {foreach name=aussen item=module_data from=$module_content}
      <li{if $module_data.CHECKED == 1} class="active"{/if}>{$module_data.GROUP}: {$module_data.NAME}</li>
    {/foreach}
  </ul>    
  {/if}
       
  {if isset($MODULE_product_tags) && $MODULE_product_tags != ''}
    {$MODULE_product_tags}
  {/if}

  <h4 class="detailbox">{#price#}</h4>

Für Template xtc5:

Die folgende Datei wie folgt bearbeiten:

/templates/xtc5/module/print_product_info.html

Suche:

      {if $module_content != ''}
        <h2>{#options#}</h2>    
        <ul>{foreach name=aussen item=module_data from=$module_content}
        <li{if $module_data.CHECKED == 1} class="active"{/if}>{$module_data.GROUP}: {$module_data.NAME}</li>
        {/foreach}
        </ul>    
      {/if}

Füge danach ein:

      {if isset($MODULE_product_tags) && $MODULE_product_tags != ''}
        {$MODULE_product_tags|replace:"<h1":"<h2"|replace:"h1>":"h2>"}
      {/if}

Die folgende Datei wie folgt bearbeiten:

/templates/xtc5/stylesheet.css

Suche:

body.popupproductinfo ul li.active {
  font-weight:bold;
}

Füge danach ein:

body.popupproductinfo .tags_block {
  display: inline-block;
}

Wegfall einer alten JavaScript Funktion[Bearbeiten]

  • optional in
/templates/TEMPLATENAME/admin/print_order.html
/templates/TEMPLATENAME/admin/print_packingslip.html
/templates/TEMPLATENAME/module/print_order.html
/templates/TEMPLATENAME/module/print_product_info.html

Betrifft nur die Templates tpl_modified, tpl_modified_responsive_1 & tpl_modified_responsive_2

Suche:

      window.onload = function () {
        window.focus();
        window.print();
      }

Ersetze mit:

      window.focus();
      window.print();

Artikeleigenschaften auf der checkout_confirmation Seite anzeigen[Bearbeiten]

  • zwingend notwendig

Aus dem original xtc5 bzw. tpl_modified Template sind die folgenden Dateien ins eigene Template in die selben Ordner zu kopieren:

/templates/tpl_modified/module/checkout_confirmation.html
/templates/tpl_modified/stylesheet.css
/templates/xtc5/module/checkout_confirmation.html
/templates/xtc5/stylesheet.css

Alternativ kann die Datei auch manuell wie folgt ergänzt werden:

Für Template tpl_modified:

Die folgende Datei wie folgt bearbeiten:

/templates/tpl_modified/module/checkout_confirmation.html

Suche:

        {$data.link}
        {if $data.order_description}<div class="description">{$data.order_description}</div>{/if}

Ersetze mit:

        {if isset($data.link_more)}<strong>{$data.name}</strong> {$data.link_more}{else}{$data.link}{/if}
        {if $data.order_description}<div class="description">{$data.order_description}</div>{/if}
        {if isset($data.products_tags)}
          <div class="ol_tags_row">
            {foreach item=module_data from=$data.products_tags}
              <div class="ol_tags_item">     
                <strong>{$module_data.OPTIONS_NAME}</strong>:       
                {foreach name=inner item=item_data from=$module_data.DATA}
                  {$item_data.VALUES_NAME}{if $smarty.foreach.inner.last}{else}, {/if}
                {/foreach}
              </div>
            {/foreach} 
          </div>
        {/if}

Die folgende Datei wie folgt bearbeiten:

/templates/tpl_modified/stylesheet.css

Suche:

table.order_table tr.mainrow td .description {
  font-size:12px !important;
  line-height:16px !important;
  margin-bottom:5px;
}

Ersetze mit:

table.order_table tr.mainrow td .description {
  font-size:12px !important;
  line-height:16px !important;
  margin-top:5px;
  margin-bottom:5px;
}

Suche:

table.order_table tr.mainrow td .description ol{
  margin: 8px 0px 8px 15px;
}

Füge danach ein:

table.order_table tr.mainrow td .ol_tags_row {
  margin: 0 0 10px 0;
}
table.order_table tr.mainrow td .ol_tags_item {
  font-size:12px;
  line-height:18px;
  font-weight:normal;
  margin: 2px 0 0 0;
}

Für Template xtc5:

Die folgende Datei wie folgt bearbeiten:

/templates/xtc5/module/checkout_confirmation.html.html

Suche:

          {$data.link}
          {if $data.order_description}<div class="small">{$data.order_description}</div>{/if}

Ersetze mit:

          {if isset($data.link_more)}<strong>{$data.name}</strong> {$data.link_more}{else}{$data.link}{/if}
          {if $data.order_description}<div class="small">{$data.order_description}</div>{/if}
          {if isset($data.products_tags)}
            <div class="ol_tags_row">
              {foreach item=module_data from=$data.products_tags}
                <div class="ol_tags_item">     
                  <strong>{$module_data.OPTIONS_NAME}</strong>:       
                  {foreach name=inner item=item_data from=$module_data.DATA}
                    {$item_data.VALUES_NAME}{if $smarty.foreach.inner.last}{else}, {/if}
                  {/foreach}
                </div>
              {/foreach} 
            </div>
          {/if}

Die folgende Datei wie folgt bearbeiten:

/templates/xtc5/stylesheet.css

Suche:

div.checkoutbox .details{
  padding: 0 12px 0 0; 
  background: url(img/external.gif) no-repeat 100% 0px;
  color: #000;
  font-weight: bold;
}

Füge danach ein:

div.checkoutbox .ol_tags_row {
  margin: 5px 0 10px 0;
}
div.checkoutbox .ol_tags_item {
  font-size:11px;
  font-weight:normal;
  margin: 2px 0 0 0;
}

Umbenennung von Lieferadresse in Abholadresse bei Versandart Selbstabholung[Bearbeiten]

  • optional

Aus dem original xtc5 bzw. tpl_modified Template sind die folgenden Dateien ins eigene Template in die selben Ordner zu kopieren:

/templates/tpl_modified/admin/print_order.html
/templates/tpl_modified/admin/print_packingslip.html
/templates/tpl_modified/mail/english/order_mail.html
/templates/tpl_modified/mail/english/order_mail.txt
/templates/tpl_modified/mail/english/order_mail_step.html
/templates/tpl_modified/mail/english/order_mail_step.txt
/templates/tpl_modified/mail/german/order_mail.html
/templates/tpl_modified/mail/german/order_mail.txt
/templates/tpl_modified/mail/german/order_mail_step.html
/templates/tpl_modified/mail/german/order_mail_step.txt
/templates/tpl_modified/module/account_history_info.html
/templates/tpl_modified/module/checkout_confirmation.html
/templates/tpl_modified/module/print_order.html
/templates/xtc5/admin/print_order.html
/templates/xtc5/admin/print_packingslip.html
/templates/xtc5/mail/english/order_mail.html
/templates/xtc5/mail/english/order_mail.txt
/templates/xtc5/mail/english/order_mail_step.html
/templates/xtc5/mail/english/order_mail_step.txt
/templates/xtc5/mail/german/order_mail.html
/templates/xtc5/mail/german/order_mail.txt
/templates/xtc5/mail/german/order_mail_step.html
/templates/xtc5/mail/german/order_mail_step.txt
/templates/xtc5/module/account_history_info.html
/templates/xtc5/module/checkout_confirmation.html
/templates/xtc5/module/print_order.html

Alternativ können die Dateien auch manuell wie folgt ergänzt werden:

Für Template tpl_modified:

Die folgenden Dateien wie folgt bearbeiten:

/templates/tpl_modified/admin/print_order.html
/templates/tpl_modified/admin/print_packingslip.html
/templates/tpl_modified/module/print_order.html

Suche:

{#shipping_address#}

Ersetze mit:

{if isset($SHIPPING_CLASS) && strstr($SHIPPING_CLASS, 'selfpickup')}{#pickup_address#}{else}{#shipping_address#}{/if}

Die folgenden Dateien wie folgt bearbeiten:

/templates/tpl_modified/mail/english/order_mail.html
/templates/tpl_modified/mail/english/order_mail.txt
/templates/tpl_modified/mail/english/order_mail_step.html
/templates/tpl_modified/mail/english/order_mail_step.txt

Suche:

Shippingaddress

Ersetze mit:

{if isset($SHIPPING_CLASS) && strstr($SHIPPING_CLASS, 'selfpickup')}Pickupaddress{else}Shippingaddress{/if}

Die folgenden Dateien wie folgt bearbeiten:

/templates/tpl_modified/mail/german/order_mail.html
/templates/tpl_modified/mail/german/order_mail_step.html

Suche:

Lieferadresse

Ersetze mit:

{if isset($SHIPPING_CLASS) && strstr($SHIPPING_CLASS, 'selfpickup')}Abholadresse{else}Lieferadresse{/if}

Die folgenden Dateien wie folgt bearbeiten:

/templates/tpl_modified/mail/german/order_mail.txt
/templates/tpl_modified/mail/german/order_mail_step.txt

Suche:

Versandadresse

Ersetze mit:

{if isset($SHIPPING_CLASS) && strstr($SHIPPING_CLASS, 'selfpickup')}Abholadresse{else}Versandadresse{/if}

Die folgende Datei wie folgt bearbeiten:

/templates/tpl_modified/module/account_history_info.html

Suche:

{#text_shipping_address#}

Ersetze mit:

{if isset($SHIPPING_CLASS) && strstr($SHIPPING_CLASS, 'selfpickup')}{#text_pickup_address#}{else}{#text_shipping_address#}{/if}

Die folgende Datei wie folgt bearbeiten:

/templates/tpl_modified/module/checkout_confirmation.html

Suche:

{#text_shipping_address#} <a class="midi" href="{$SHIPPING_ADDRESS_EDIT}">{#text_edit#}</a>

Ersetze mit:

{if isset($SHIPPING_CLASS) && strstr($SHIPPING_CLASS, 'selfpickup')}{#text_pickup_address#}{else}{#text_shipping_address#} <a class="midi" href="{$SHIPPING_ADDRESS_EDIT}">{#text_edit#}</a>{/if}

Für Template xtc5:

Die folgenden Dateien wie folgt bearbeiten:

/templates/xtc5/admin/print_order.html
/templates/xtc5/admin/print_packingslip.html
/templates/xtc5/module/print_order.html

Suche:

{#shipping_address#}

Ersetze mit:

{if isset($SHIPPING_CLASS) && strstr($SHIPPING_CLASS, 'selfpickup')}{#pickup_address#}{else}{#shipping_address#}{/if}

Die folgenden Dateien wie folgt bearbeiten:

/templates/xtc5/mail/english/order_mail.html
/templates/xtc5/mail/english/order_mail.txt
/templates/xtc5/mail/english/order_mail_step.html
/templates/xtc5/mail/english/order_mail_step.txt

Suche:

Shippingaddress

Ersetze mit:

{if isset($SHIPPING_CLASS) && strstr($SHIPPING_CLASS, 'selfpickup')}Pickupaddress{else}Shippingaddress{/if}

Die folgenden Dateien wie folgt bearbeiten:

/templates/xtc5/mail/german/order_mail.html
/templates/xtc5/mail/german/order_mail_step.html

Suche:

Lieferadresse

Ersetze mit:

{if isset($SHIPPING_CLASS) && strstr($SHIPPING_CLASS, 'selfpickup')}Abholadresse{else}Lieferadresse{/if}

Die folgenden Dateien wie folgt bearbeiten:

/templates/xtc5/mail/german/order_mail.txt
/templates/xtc5/mail/german/order_mail_step.txt

Suche:

Versandadresse

Ersetze mit:

{if isset($SHIPPING_CLASS) && strstr($SHIPPING_CLASS, 'selfpickup')}Abholadresse{else}Versandadresse{/if}

Die folgende Datei wie folgt bearbeiten:

/templates/xtc5/module/account_history_info.html

Suche:

{#text_shipping_address#}

Ersetze mit:

{if isset($SHIPPING_CLASS) && strstr($SHIPPING_CLASS, 'selfpickup')}{#text_pickup_address#}{else}{#text_shipping_address#}{/if}

Die folgende Datei wie folgt bearbeiten:

/templates/xtc5/module/checkout_confirmation.html

Suche:

    <h2>{#text_shipping_address#}</h2>
    <div class="text">&nbsp;<a href="{$SHIPPING_ADDRESS_EDIT}">{#text_edit#}</a></div>

Ersetze mit:

    {if isset($SHIPPING_CLASS) && strstr($SHIPPING_CLASS, 'selfpickup')}
      <h2>{#text_pickup_address#}</h2>
    {else}
      <h2>{#text_shipping_address#}</h2>
      <div class="text">&nbsp;<a href="{$SHIPPING_ADDRESS_EDIT}">{#text_edit#}</a></div>
    {/if}

Fehler in popup_search_help.html korrigiert[Bearbeiten]

  • zwingend notwendig in
/templates/TEMPLATENAME/module/popup_search_help.html

Suche:

{#title#}

Ersetze mit:

{#title_help#}

Fehler in autocomplete.html in xtc5 Template korrigiert[Bearbeiten]

  • zwingend notwendig in
/templates/xtc5/module/autocomplete.html

Suche:

{config_load file="$language/lang_$language.conf" section="error_handler"}
{config_load file="lang_`$language`.custom"}
{config_load file="lang_`$language`.section" section="error_handler"}

Ersetze mit:

{config_load file="$language/lang_$language.conf" section="error_handler"}

Admin-Bar im Frontend erweitern um Möglichkeit Artikeleigenschaften direkt zu bearbeiten[Bearbeiten]

  • optional

Betrifft nur die Templates tpl_modified, tpl_modified_responsive_1 & tpl_modified_responsive_2

Aus dem original tpl_modified Template sind die folgenden Dateien ins eigene Template in die selben Ordner zu kopieren:

/templates/tpl_modified/boxes/box_admin.html
/templates/tpl_modified/lang/lang_english.custom
/templates/tpl_modified/lang/lang_german.custom
/templates/tpl_modified/source/boxes/admin.php

Alternativ können die Dateien auch manuell wie folgt ergänzt werden:

/templates/tpl_modified/boxes/box_admin.html

Suche:

          {if isset($EDIT_PRODUCT) || isset($EDIT_CATEGORY)}
            {if isset($EDIT_PRODUCT)}
              <li><a href="{$EDIT_PRODUCT}">{#ab_edit_product#}</a></li>
              <li><a href="{$EDIT_XSELL}">{#ab_edit_xsell#}</a></li>
              <li><a href="{$EDIT_PRODUCT_ATTRIBUTES}">{#ab_edit_attributes#}</a></li>
            {/if}
            {if isset($EDIT_CATEGORY)}
              <li><a href="{$EDIT_CATEGORY}">{#ab_edit_category#}</a></li>
            {/if}
          {/if}

Ersetze mit:

          {if isset($EDIT_PRODUCT)}<li><a href="{$EDIT_PRODUCT}">{#ab_edit_product#}</a></li>{/if}
          {if isset($EDIT_XSELL)}<li><a href="{$EDIT_XSELL}">{#ab_edit_xsell#}</a></li>{/if}
          {if isset($EDIT_PRODUCT_ATTRIBUTES)}<li><a href="{$EDIT_PRODUCT_ATTRIBUTES}">{#ab_edit_attributes#}</a></li>{/if}
          {if isset($EDIT_PRODUCT_TAGS)}<li><a href="{$EDIT_PRODUCT_TAGS}">{#ab_edit_tags#}</a></li>{/if}
          {if isset($EDIT_CATEGORY)}<li><a href="{$EDIT_CATEGORY}">{#ab_edit_category#}</a></li>{/if}

Die folgende Datei wie folgt bearbeiten:

/templates/tpl_modified/lang/lang_english.custom

Suche:

ab_edit_xsell = 'Edit cross selling'

Füge danach ein:

ab_edit_tags = 'Product features'

Die folgende Datei wie folgt bearbeiten:

/templates/tpl_modified/lang/lang_german.custom

Suche:

ab_edit_xsell = 'Cross Selling bearbeiten'

Füge danach ein:

ab_edit_tags = 'Artikeleigenschaften'

Die folgende Datei wie folgt bearbeiten:

/templates/tpl_modified/source/boxes/admin.php

Suche:

  // attributes
  if ($admin_access['new_attributes'] == '1') {
    if ($product->isProduct() === true) {
      $box_smarty->assign('EDIT_PRODUCT_ATTRIBUTES', xtc_href_link_admin((defined('DIR_ADMIN') ? DIR_ADMIN : 'admin/').'new_attributes.php', 'cpath='.$cPath.'&current_product_id='.$product->data['products_id'].'&action=edit'));
    }
  }

Füge danach ein:

  // tags
  if ($admin_access['products_tags'] == '1') {
    if ($product->isProduct() === true) {
      $box_smarty->assign('EDIT_PRODUCT_TAGS', xtc_href_link_admin((defined('DIR_ADMIN') ? DIR_ADMIN : 'admin/').'products_tags.php', 'cpath='.$cPath.'&current_product_id='.$product->data['products_id'].'&action=edit'));
    }
  }

Datenschutz Checkbox und Datenschutzhinweis voneinander trennen und Checkbox optional gestalten[Bearbeiten]

  • zwingend notwendig

Aus dem original xtc5 bzw. tpl_modified Template sind die folgenden Dateien ins eigene Template in die selben Ordner zu kopieren:

 /templates/tpl_modified/mail/english/newsletter_mail.html
 /templates/tpl_modified/mail/english/newsletter_mail.txt
 /templates/tpl_modified/mail/german/newsletter_mail.html
 /templates/tpl_modified/mail/german/newsletter_mail.txt
 /templates/tpl_modified/module/checkout_payment.html
 /templates/tpl_modified/module/contact_us.html
 /templates/tpl_modified/module/create_account.html
 /templates/tpl_modified/module/create_account_guest.html
 /templates/tpl_modified/module/newsletter.html
 /templates/xtc5/mail/english/newsletter_mail.html
 /templates/xtc5/mail/english/newsletter_mail.txt
 /templates/xtc5/mail/german/newsletter_mail.html
 /templates/xtc5/mail/german/newsletter_mail.txt
 /templates/xtc5/module/checkout_payment.html
 /templates/xtc5/module/contact_us.html
 /templates/xtc5/module/create_account.html
 /templates/xtc5/module/create_account_guest.html
 /templates/xtc5/module/newsletter.html

Alternativ kann die Datei auch manuell wie folgt ergänzt werden:

Für Template tpl_modified:

Die folgende Datei wie folgt bearbeiten:

/templates/tpl_modified/mail/english/newsletter_mail.html

Suche:

			{if isset($LINK)}
      Please click the following activation link to receive newsletters. If you haven't subscribed to this service, please ignore this e-mail!<br />
      <br />
      <b>Your activation link:</b><br />
      <a href="{$LINK}">{$LINK}</a><br />
      {/if}

Ersetze mit:

			{if isset($LINK)}
			You receive this e-mail because you want to receive our newsletter.<br />
			<br />
      Please click the following activation link to receive newsletters. If you haven't subscribed to this service, please ignore this e-mail!<br />
      <br />
      <b>Your activation link:</b><br />
      <a href="{$LINK}">{$LINK}</a><br />
      <br />
      If you have not registered for our newsletter or do not wish to receive the newsletter, please ignore the activation link.<br />
      <br />
      Your consent to the dispatch of our newsletter is revocable at any time. The newsletter is sent according to our privacy policy.<br />
      {/if}

Die folgende Datei wie folgt bearbeiten:

/templates/tpl_modified/mail/english/newsletter_mail.txt

Suche:

{if isset($LINK)}
Please click the following activation link to receive newsletters. If you haven't subscribed to this service, please ignore this e-mail!

Your activation link:
{$LINK}
{/if}

Ersetze mit:

{if isset($LINK)}
You receive this e-mail because you want to receive our newsletter.

Please click the following activation link to receive newsletters. If you haven't subscribed to this service, please ignore this e-mail!

Your activation link:
{$LINK}

If you have not registered for our newsletter or do not wish to receive the newsletter, please ignore the activation link.

Your consent to the dispatch of our newsletter is revocable at any time. The newsletter is sent according to our privacy policy.
{/if}
/templates/tpl_modified/mail/german/newsletter_mail.html

Suche:

			{if isset($LINK)}
      Sie erhalten diese E-Mail, weil Sie unseren Newsletter empfangen m&ouml;chten.<br />
      <br />
      Bitte klicken Sie auf den Aktivierungslink, damit Ihre E-Mail-Adresse f&uuml;r den Newsletterempfang freigeschaltet wird.
      Sollten Sie sich nicht f&uuml;r unseren Newsletter eingetragen haben bzw. den Empfang des Newsletters nicht w&uuml;nschen, bitten wir Sie, 
      den Aktivierungslink einfach zu ignorieren.<br />
      <br />
      <b>Ihr Aktivierungslink:</b><br />
      <a href="{$LINK}">{$LINK}</a><br />
      {/if}

Ersetze mit:

			{if isset($LINK)}
      Sie erhalten diese E-Mail, weil Sie unseren Newsletter empfangen m&ouml;chten.<br />
      <br />
      Bitte klicken Sie auf den Aktivierungslink, damit Ihre E-Mail-Adresse f&uuml;r den Newsletterempfang freigeschaltet wird.<br />
      <br />
      <b>Ihr Aktivierungslink:</b><br />
      <a href="{$LINK}">{$LINK}</a><br />
      <br />
      Sollten Sie sich nicht f&uuml;r unseren Newsletter eingetragen haben bzw. den Empfang des Newsletters nicht w&uuml;nschen, bitten wir Sie, 
      den Aktivierungslink einfach zu ignorieren.<br />
      <br />
      Ihre Einwilligung in den Versand unseres Newsletters ist jederzeit widerruflich. Der Newsletter-Versand erfolgt entsprechend unserer Datenschutzerkl&auml;rung.<br />
      {/if}

Die folgende Datei wie folgt bearbeiten:

/templates/tpl_modified/mail/german/newsletter_mail.txt

Suche:

{if isset($LINK)}
Sie erhalten diese E-Mail, weil Sie unseren Newsletter empfangen möchten.
Bitte klicken Sie auf den Aktivierungslink, damit Ihre E-Mail-Adresse für den Newsletterempfang freigeschaltet wird.

Sollten Sie sich nicht für unseren Newsletter eingetragen haben bzw. den Empfang des Newsletters nicht wünschen,
bitten wir Sie, den Aktivierungslink einfach zu ignorieren. 
      
Ihr Aktivierungslink:
{$LINK}
{/if}

Ersetze mit:

{if isset($LINK)}
Sie erhalten diese E-Mail, weil Sie unseren Newsletter empfangen möchten.

Bitte klicken Sie auf den Aktivierungslink, damit Ihre E-Mail-Adresse für den Newsletterempfang freigeschaltet wird.

Ihr Aktivierungslink:
{$LINK}

Sollten Sie sich nicht für unseren Newsletter eingetragen haben bzw. den Empfang des Newsletters nicht wünschen,
bitten wir Sie, den Aktivierungslink einfach zu ignorieren. 

Ihre Einwilligung in den Versand unseres Newsletters ist jederzeit widerruflich. Der Newsletter-Versand erfolgt entsprechend unserer Datenschutzerklärung.
{/if}

Die folgende Datei wie folgt bearbeiten:

/templates/tpl_modified/module/checkout_payment.html

Suche:

    {if $smarty.const.DISPLAY_CONDITIONS_ON_CHECKOUT == 'true'}
      <div id="horizontalTab">
        <ul class="resp-tabs-list nonjs-fallback">
          <li>{#title_comments_short#}</li>
          <li>{#title_agb#}</li>
        </ul>
        <div class="resp-tabs-container">
          <noscript><h4 class="nonjs-h4">{#title_comments_short#}</h4></noscript>
          <div class="checkoutcomment">{$COMMENTS}</div>
          <div>
            <noscript><h4 class="nonjs-h4">{#title_agb#}</h4></noscript>
            <div class="checkoutagb">{$AGB}</div>
          </div>
        </div>
      </div>
      <div class="checkoutconditions">
        {$AGB_checkbox} <strong><label for="conditions">{#text_accept_agb#}</label></strong>&nbsp;{$AGB_LINK}
      </div>
      {if isset($REVOCATION_checkbox)}
        <div class="checkoutconditions">
          {$REVOCATION_checkbox} <strong><label for="revocation">{#text_accept_revocation#}</label></strong>&nbsp;{$REVOCATION_LINK}
        </div>
      {/if}
    {else}
      <h4 class="checkout">{#title_comments_short#}</h4>
      <div class="checkoutcomment">{$COMMENTS}</div>
      {if isset($REVOCATION_checkbox)}
        <div class="checkoutconditions">
          {$REVOCATION_checkbox} <strong><label for="revocation">{#text_accept_revocation#}</label></strong>&nbsp;{$REVOCATION_LINK}
        </div>
      {/if}
    {/if}

Ersetze mit:

    {if $smarty.const.DISPLAY_CONDITIONS_ON_CHECKOUT == 'true'}
      <div id="horizontalTab">
        <ul class="resp-tabs-list nonjs-fallback">
          <li>{#title_comments_short#}</li>
          <li>{#title_agb#}</li>
        </ul>
        <div class="resp-tabs-container">
          <noscript><h4 class="nonjs-h4">{#title_comments_short#}</h4></noscript>
          <div class="checkoutcomment">{$COMMENTS}</div>
          <div>
            <noscript><h4 class="nonjs-h4">{#title_agb#}</h4></noscript>
            <div class="checkoutagb">{$AGB}</div>
          </div>
        </div>
      </div>
      <div class="checkoutconditions">
      {if defined($smarty.const.SIGN_CONDITIONS_ON_CHECKOUT)}
        {if $smarty.const.SIGN_CONDITIONS_ON_CHECKOUT == 'true'}{$AGB_checkbox} {/if}<strong><label for="conditions">{#text_accept_agb#}</label></strong>&nbsp;{$AGB_LINK}
      {else}
        {$AGB_checkbox} <strong><label for="conditions">{#text_accept_agb#}</label></strong>&nbsp;{$AGB_LINK}
      {/if}
      </div>
      {if isset($PRIVACY_LINK)}
        <div class="checkoutconditions">
          {if $PRIVACY_checkbox}{$PRIVACY_checkbox} {/if}<strong><label for="privacy">{if $PRIVACY_checkbox}{#text_privacy_accept#}{else}{#text_privacy_notice#}{/if}</label></strong>&nbsp;{$PRIVACY_LINK}
        </div>
      {/if}
      {if isset($REVOCATION_checkbox)}
        <div class="checkoutconditions">
          {$REVOCATION_checkbox} <strong><label for="revocation">{#text_accept_revocation#}</label></strong>&nbsp;{$REVOCATION_LINK}
        </div>
      {/if}
    {else}
      <h4 class="checkout">{#title_comments_short#}</h4>
      <div class="checkoutcomment">{$COMMENTS}</div>
      {if isset($PRIVACY_LINK)}
        <div class="checkoutconditions">
          {if $PRIVACY_checkbox}{$PRIVACY_checkbox} {/if}<strong><label for="privacy">{if $PRIVACY_checkbox}{#text_privacy_accept#}{else}{#text_privacy_notice#}{/if}</label></strong>&nbsp;{$PRIVACY_LINK}
        </div>
      {/if}
      {if isset($REVOCATION_checkbox)}
        <div class="checkoutconditions">
          {$REVOCATION_checkbox} <strong><label for="revocation">{#text_accept_revocation#}</label></strong>&nbsp;{$REVOCATION_LINK}
        </div>
      {/if}
    {/if}

Die folgende Datei wie folgt bearbeiten:

/templates/tpl_modified/module/contact_us.html

Suche:

      {if $PRIVACY_CHECKBOX}
      <br />
      <table>
        <tr>
          <td class="checkbox">{$PRIVACY_CHECKBOX}</td>
          <td class="midi td_full"><strong><label for="privacy">{#text_privacy_accept#}</label></strong> {$PRIVACY_LINK}</td>
        </tr>
      </table>
      {/if}

Ersetze mit:

      {if defined($smarty.const.SIGN_CONDITIONS_ON_CHECKOUT)}
        <br />
        <table>
          <tr>
            {if $PRIVACY_CHECKBOX}<td class="checkbox">{$PRIVACY_CHECKBOX}</td>{/if}
            <td class="midi td_full"><strong><label for="privacy">{#text_privacy_accept#|sprintf:$smarty.const.STORE_OWNER_EMAIL_ADDRESS}</label></strong> {$PRIVACY_LINK}</td>
          </tr>
        </table>
      {else}
        {if $PRIVACY_CHECKBOX}
        <br />
        <table>
          <tr>
            <td class="checkbox">{$PRIVACY_CHECKBOX}</td>
            <td class="midi td_full"><strong><label for="privacy">{#text_privacy_accept#}</label></strong> {$PRIVACY_LINK}</td>
          </tr>
        </table>
        {/if}
      {/if}

Die folgenden Dateien wie folgt bearbeiten:

/templates/tpl_modified/module/create_account.html
/templates/tpl_modified/module/create_account_guest.html

Suche:

  {if $PRIVACY_CHECKBOX}
  <br />
  <table>
    <tr>
      <td class="checkbox">{$PRIVACY_CHECKBOX}</td>
      <td class="midi td_full"><strong><label for="privacy">{#text_privacy_accept#}</label></strong> {$PRIVACY_LINK}</td>
    </tr>
  </table>
  {/if}

Ersetze mit:

  {if defined($smarty.const.SIGN_CONDITIONS_ON_CHECKOUT)}
    <br />
    <table>
      <tr>
        {if $PRIVACY_CHECKBOX}<td class="checkbox">{$PRIVACY_CHECKBOX}</td>{/if}
        <td class="midi td_full"><strong><label for="privacy">{if $PRIVACY_CHECKBOX}{#text_privacy_accept#}{else}{#text_privacy_notice#}{/if}</label></strong> {$PRIVACY_LINK}</td>
      </tr>
    </table>
  {else}
    {if $PRIVACY_CHECKBOX}
    <br />
    <table>
      <tr>
        <td class="checkbox">{$PRIVACY_CHECKBOX}</td>
        <td class="midi td_full"><strong><label for="privacy">{#text_privacy_accept#}</label></strong> {$PRIVACY_LINK}</td>
      </tr>
    </table>
    {/if}
  {/if}

Die folgende Datei wie folgt bearbeiten:

/templates/tpl_modified/module/newsletter.html

Suche:

      {if $PRIVACY_CHECKBOX}
      <br />
      <table>
        <tr>
          <td class="checkbox">{$PRIVACY_CHECKBOX}</td>
          <td class="midi td_full"><strong><label for="privacy">{#text_privacy_accept#}</label></strong> {$PRIVACY_LINK}</td>
        </tr>
      </table>
      {/if}

Ersetze mit:

      {if defined($smarty.const.SIGN_CONDITIONS_ON_CHECKOUT)}
        <br />
        <table>
          <tr>
            {if $PRIVACY_CHECKBOX}<td class="checkbox">{$PRIVACY_CHECKBOX}</td>{/if}
            <td class="midi td_full"><strong><label for="privacy">{if $PRIVACY_CHECKBOX}{#text_privacy_accept#}{else}{#text_privacy_notice#}{/if}</label></strong> {$PRIVACY_LINK}</td>
          </tr>
        </table>
      {else}
        {if $PRIVACY_CHECKBOX}
        <br />
        <table>
          <tr>
            <td class="checkbox">{$PRIVACY_CHECKBOX}</td>
            <td class="midi td_full"><strong><label for="privacy">{#text_privacy_accept#}</label></strong> {$PRIVACY_LINK}</td>
          </tr>
        </table>
        {/if}
      {/if}

Für Template xtc5:

Die folgende Datei wie folgt bearbeiten:

/templates/xtc5/mail/english/newsletter_mail.html

Suche:

{if isset($LINK)}
<p>Please click the following activation link to receive newsletters. If you haven't subscribed to this service, please ignore this e-mail!</p>
<p><b>Your activation link:</b></p>
<p><a href="{$LINK}">{$LINK}</a></p>
{/if}

Ersetze mit:

{if isset($LINK)}
<p>You receive this e-mail because you want to receive our newsletter.</p>
<p>Please click the following activation link to receive newsletters. If you haven't subscribed to this service, please ignore this e-mail!</p>
<p><b>Your activation link:</b></p>
<p><a href="{$LINK}">{$LINK}</a></p>
<p>If you have not registered for our newsletter or do not wish to receive the newsletter, please ignore the activation link.</p>
<p>Your consent to the dispatch of our newsletter is revocable at any time. The newsletter is sent according to our privacy policy.</p>
{/if}

Die folgende Datei wie folgt bearbeiten:

/templates/xtc5/mail/english/newsletter_mail.txt

Suche:

{if isset($LINK)}
Please click the following activation link to receive newsletters. If you haven't subscribed to this service, please ignore this e-mail!

Your activation link:
{$LINK}
{/if}

Ersetze mit:

{if isset($LINK)}
You receive this e-mail because you want to receive our newsletter.

Please click the following activation link to receive newsletters. If you haven't subscribed to this service, please ignore this e-mail!

Your activation link:
{$LINK}

If you have not registered for our newsletter or do not wish to receive the newsletter, please ignore the activation link.

Your consent to the dispatch of our newsletter is revocable at any time. The newsletter is sent according to our privacy policy.
{/if}
/templates/xtc5/mail/german/newsletter_mail.html

Suche:

{if isset($LINK)}
<p>Sie erhalten diese E-Mail, weil Sie unseren Newsletter empfangen mo&uml;chten.
Bitte klicken Sie auf den Aktivierungslink, damit Ihre E-Mail-Adresse f&uuml;r den Newsletterempfang freigeschaltet wird.
Sollten Sie sich nicht f&uuml;r unseren Newsletter eingetragen haben bzw. den Empfang des Newsletters nicht w&uuml;nschen, bitten wir Sie, den Aktivierungslink einfach zu ignorieren.</p>
<p><b>Ihr Aktivierungslink:</b></p>
<p><a href="{$LINK}">{$LINK}</a></p>
{/if}

Ersetze mit:

{if isset($LINK)}
<p>Sie erhalten diese E-Mail, weil Sie unseren Newsletter empfangen m&ouml;chten.</p>
<p>Bitte klicken Sie auf den Aktivierungslink, damit Ihre E-Mail-Adresse f&uuml;r den Newsletterempfang freigeschaltet wird.</p>
<p><b>Ihr Aktivierungslink:</b></p>
<p><a href="{$LINK}">{$LINK}</a></p>
<p>Sollten Sie sich nicht f&uuml;r unseren Newsletter eingetragen haben bzw. den Empfang des Newsletters nicht w&uuml;nschen, bitten wir Sie, den Aktivierungslink einfach zu ignorieren.</p>
<p>Ihre Einwilligung in den Versand unseres Newsletters ist jederzeit widerruflich. Der Newsletter-Versand erfolgt entsprechend unserer Datenschutzerkl&auml;rung.</p>
{/if}

Die folgende Datei wie folgt bearbeiten:

/templates/xtc5/mail/german/newsletter_mail.txt

Suche:

{if isset($LINK)}
Sie erhalten diese E-Mail, weil Sie unseren Newsletter empfangen möchten.
Bitte klicken Sie auf den Aktivierungslink, damit Ihre E-Mail-Adresse für den Newsletterempfang freigeschaltet wird.

Sollten Sie sich nicht für unseren Newsletter eingetragen haben bzw. den Empfang des Newsletters nicht wünschen,
bitten wir Sie, den Aktivierungslink einfach zu ignorieren. 
      
Ihr Aktivierungslink:
{$LINK}
{/if}

Ersetze mit:

{if isset($LINK)}
Sie erhalten diese E-Mail, weil Sie unseren Newsletter empfangen möchten.

Bitte klicken Sie auf den Aktivierungslink, damit Ihre E-Mail-Adresse für den Newsletterempfang freigeschaltet wird.

Ihr Aktivierungslink:
{$LINK}

Sollten Sie sich nicht für unseren Newsletter eingetragen haben bzw. den Empfang des Newsletters nicht wünschen,
bitten wir Sie, den Aktivierungslink einfach zu ignorieren. 

Ihre Einwilligung in den Versand unseres Newsletters ist jederzeit widerruflich. Der Newsletter-Versand erfolgt entsprechend unserer Datenschutzerklärung.
{/if}

Die folgende Datei wie folgt bearbeiten:

/templates/xtc5/module/checkout_payment.html

Suche:

  {if $smarty.const.DISPLAY_CONDITIONS_ON_CHECKOUT == 'true'}
    <h2>{#title_agb#}</h2>
    <div class="checkoutagb">{$AGB}</div>
    <table width="100%" border="0" cellspacing="0" cellpadding="4">
      <tr>
        <td>{$AGB_checkbox}</td>
        <td width="100%"><strong><label for="conditions">{#text_accept_agb#}</label></strong>&nbsp;{$AGB_LINK}</td>
      </tr>
      {if isset($REVOCATION_checkbox)}
      <tr>
        <td>{$REVOCATION_checkbox}</td>
        <td width="100%"><strong><label for="revocation">{#text_accept_revocation#}</label></strong>&nbsp;{$REVOCATION_LINK}</td>
      </tr>
      {/if}
    </table>
  {elseif isset($REVOCATION_checkbox)}
    <table width="100%" border="0" cellspacing="0" cellpadding="4">
      <tr>
        <td>{$REVOCATION_checkbox}</td>
        <td width="100%"><strong><label for="revocation">{#text_accept_revocation#}</label></strong>&nbsp;{$REVOCATION_LINK}</td>
      </tr>
    </table>
  {/if}

Ersetze mit:

  {if $smarty.const.DISPLAY_CONDITIONS_ON_CHECKOUT == 'true'}
    <h2>{#title_agb#}</h2>
    <div class="checkoutagb">{$AGB}</div>
    <table width="100%" border="0" cellspacing="0" cellpadding="4">
      <tr>
      {if defined($smarty.const.SIGN_CONDITIONS_ON_CHECKOUT)}
        {if $smarty.const.SIGN_CONDITIONS_ON_CHECKOUT == 'true'}<td>{$AGB_checkbox}</td>{/if}
        <td width="100%"{if $smarty.const.SIGN_CONDITIONS_ON_CHECKOUT == 'false'} colspan="2"{/if}><strong><label for="conditions">{#text_accept_agb#}</label></strong>&nbsp;{$AGB_LINK}</td>
      {else}
        <td>{$AGB_checkbox}</td>
        <td width="100%"><strong><label for="conditions">{#text_accept_agb#}</label></strong>&nbsp;{$AGB_LINK}</td>
      {/if}
      </tr>
      {if isset($PRIVACY_LINK)}
      <tr>
        {if $PRIVACY_checkbox}<td>{$PRIVACY_checkbox}</td>{/if}
        <td width="100%"{if !$PRIVACY_checkbox} colspan="2"{/if}><strong><label for="privacy">{if $PRIVACY_checkbox}{#text_privacy_accept#}{else}{#text_privacy_notice#}{/if}</label></strong>&nbsp;{$PRIVACY_LINK}</td>
      </tr>
      {/if}
      {if isset($REVOCATION_checkbox)}
      <tr>
        <td>{$REVOCATION_checkbox}</td>
        <td width="100%"><strong><label for="revocation">{#text_accept_revocation#}</label></strong>&nbsp;{$REVOCATION_LINK}</td>
      </tr>
      {/if}
    </table>
  {else}
    {if isset($PRIVACY_LINK) || isset($REVOCATION_checkbox)}
      <table width="100%" border="0" cellspacing="0" cellpadding="4">
        {if isset($PRIVACY_LINK)}
        <tr>
          {if $PRIVACY_checkbox}<td>{$PRIVACY_checkbox}</td>{/if}
          <td width="100%"{if !$PRIVACY_checkbox} colspan="2"{/if}><strong><label for="privacy">{if $PRIVACY_checkbox}{#text_privacy_accept#}{else}{#text_privacy_notice#}{/if}</label></strong>&nbsp;{$PRIVACY_LINK}</td>
        </tr>
        {/if}
        {if isset($REVOCATION_checkbox)}
        <tr>
          <td>{$REVOCATION_checkbox}</td>
          <td width="100%"><strong><label for="revocation">{#text_accept_revocation#}</label></strong>&nbsp;{$REVOCATION_LINK}</td>
        </tr>
        {/if}
      </table>
    {/if}
  {/if}

Die folgende Datei wie folgt bearbeiten:

/templates/xtc5/module/contact_us.html

Suche:

  {if $PRIVACY_CHECKBOX}
  <table width="100%" border="0" cellspacing="0" cellpadding="4">
    <tr>
      <td>{$PRIVACY_CHECKBOX}</td>
      <td width="100%"><strong>{#text_privacy_accept#}</strong> {$PRIVACY_LINK}</td>
    </tr>
  </table>
  {/if}

Ersetze mit:

  {if defined($smarty.const.SIGN_CONDITIONS_ON_CHECKOUT)}
    <table width="100%" border="0" cellspacing="0" cellpadding="4">
      <tr>
        {if $PRIVACY_CHECKBOX}<td>{$PRIVACY_CHECKBOX}</td>{/if}
        <td width="100%"><strong>{#text_privacy_accept#|sprintf:$smarty.const.STORE_OWNER_EMAIL_ADDRESS}</strong> {$PRIVACY_LINK}</td>
      </tr>
    </table>
  {else}
    {if $PRIVACY_CHECKBOX}
    <table width="100%" border="0" cellspacing="0" cellpadding="4">
      <tr>
        <td>{$PRIVACY_CHECKBOX}</td>
        <td width="100%"><strong>{#text_privacy_accept#}</strong> {$PRIVACY_LINK}</td>
      </tr>
    </table>
    {/if}
  {/if}

Die folgenden Dateien wie folgt bearbeiten:

/templates/xtc5/module/create_account.html
/templates/xtc5/module/create_account_guest.html

Suche:

{if $PRIVACY_CHECKBOX}
<table width="100%" border="0" cellspacing="0" cellpadding="4">
  <tr>
    <td>{$PRIVACY_CHECKBOX}</td>
    <td width="100%"><strong>{#text_privacy_accept#}</strong> {$PRIVACY_LINK}</td>
  </tr>
</table>
{/if}

Ersetze mit:

{if defined($smarty.const.SIGN_CONDITIONS_ON_CHECKOUT)}
  <table width="100%" border="0" cellspacing="0" cellpadding="4">
    <tr>
      {if $PRIVACY_CHECKBOX}<td>{$PRIVACY_CHECKBOX}</td>{/if}
      <td width="100%"><strong>{if $PRIVACY_CHECKBOX}{#text_privacy_accept#}{else}{#text_privacy_notice#}{/if}</strong> {$PRIVACY_LINK}</td>
    </tr>
  </table>
{else}
  {if $PRIVACY_CHECKBOX}
  <table width="100%" border="0" cellspacing="0" cellpadding="4">
    <tr>
      <td>{$PRIVACY_CHECKBOX}</td>
      <td width="100%"><strong>{#text_privacy_accept#}</strong> {$PRIVACY_LINK}</td>
    </tr>
  </table>
  {/if}
{/if}

Die folgende Datei wie folgt bearbeiten:

/templates/xtc5/module/newsletter.html

Suche:

    {if $PRIVACY_CHECKBOX}
    <br />
    <table>
      <tr>
        <td class="checkbox">{$PRIVACY_CHECKBOX}</td>
        <td class="midi td_full"><strong><label for="privacy">{#text_privacy_accept#}</label></strong> {$PRIVACY_LINK}</td>
      </tr>
    </table>
    {/if}

Ersetze mit:

    {if defined($smarty.const.SIGN_CONDITIONS_ON_CHECKOUT)}
      <br />
      <table>
        <tr>
          {if $PRIVACY_CHECKBOX}<td class="checkbox">{$PRIVACY_CHECKBOX}</td>{/if}
          <td class="midi td_full"><strong><label for="privacy">{if $PRIVACY_CHECKBOX}{#text_privacy_accept#}{else}{#text_privacy_notice#}{/if}</label></strong> {$PRIVACY_LINK}</td>
        </tr>
      </table>
    {else}
      {if $PRIVACY_CHECKBOX}
      <br />
      <table>
        <tr>
          <td class="checkbox">{$PRIVACY_CHECKBOX}</td>
          <td class="midi td_full"><strong><label for="privacy">{#text_privacy_accept#}</label></strong> {$PRIVACY_LINK}</td>
        </tr>
      </table>
      {/if}
    {/if}

Blitzen des Sliders (bxSlider) korrigieren[Bearbeiten]

  • optional in
/templates/TEMPLATENAME/stylesheet.css

Betrifft nur die Templates tpl_modified, tpl_modified_responsive_1 & tpl_modified_responsive_2

Suche:

ul.bxcarousel_bestseller li .carousel_box a:hover {
  text-decoration:none;
}

Füge danach ein:

ul.bxcarousel_slider {
  list-style-type:none;
}
ul.bxcarousel_slider li {
  display:none;
}
ul.bxcarousel_slider li:first-child {
  display:block;
}

Update des Content Managers für Seiten Content bzw. Dateianhänge[Bearbeiten]

  • zwingend notwendig

Aus dem original xtc5 bzw. tpl_modified Template sind die folgenden Dateien ins eigene Template in die selben Ordner zu kopieren:

 /templates/tpl_modified/module/content.html
 /templates/xtc5/module/content.html

Alternativ kann die Datei auch manuell wie folgt ergänzt werden:

Für beide Templates gilt:

Die folgende Datei wie folgt bearbeiten:

/templates/TEMPLATENAME/module/content.html

Suche:

  {if isset($file)}
    {$CONTENT_BODY}
    {$file}
  {else}
    {if isset($SUB_CONTENT_LISTING)}<div class="subcontent cf">{$SUB_CONTENT_LISTING}</div>{/if}
    {$CONTENT_BODY}
  {/if}

Füge danach ein:

  {if isset($MODULE_conent_manager_media)}
    {$MODULE_conent_manager_media}
  {/if}

Fehlenden Kundengruppencheck für Hersteller- & Bestell-Historie-Box ergänzen[Bearbeiten]

  • zwingend notwendig

Aus dem original xtc5 bzw. tpl_modified Template sind die folgenden Dateien ins eigene Template in die selben Ordner zu kopieren:

 /templates/tpl_modified/source/boxes/manufacturers.php
 /templates/tpl_modified/source/boxes/order_history.php
 /templates/xtc5/source/boxes/manufacturers.php
 /templates/xtc5/source/boxes/order_history.php

Alternativ kann die Datei auch manuell wie folgt ergänzt werden:

Für beide Templates gilt:

Die folgende Datei wie folgt bearbeiten:

/templates/TEMPLATENAME/source/boxes/manufacturers.php

Suche:

  $manufacturers_query = "SELECT DISTINCT m.manufacturers_id,
                                          m.manufacturers_name 
                                     FROM ".TABLE_MANUFACTURERS." as m
                                     JOIN ".TABLE_PRODUCTS." as p 
                                          ON m.manufacturers_id = p.manufacturers_id
                                             AND p.products_status = '1'
                                 ORDER BY m.manufacturers_name";

Ersetze mit:

  $manufacturers_query = "SELECT DISTINCT m.manufacturers_id,
                                          m.manufacturers_name 
                                     FROM ".TABLE_MANUFACTURERS." as m
                                     JOIN ".TABLE_PRODUCTS." as p 
                                          ON m.manufacturers_id = p.manufacturers_id
                                    WHERE p.products_status = '1'
                                          ".PRODUCTS_CONDITIONS_P."
                                 ORDER BY m.manufacturers_name";

Die folgende Datei wie folgt bearbeiten:

/templates/TEMPLATENAME/source/boxes/order_history.php

Suche:

    // retreive the last x products purchased
    $orders_query = xtc_db_query("SELECT DISTINCT p.products_id,
                                                  pd.products_name,
                                                  o.orders_id,
                                                  op.orders_products_id
                                             FROM " . TABLE_ORDERS . " o
                                             JOIN " . TABLE_ORDERS_PRODUCTS . " op
                                                  ON o.orders_id = op.orders_id
                                             JOIN " . TABLE_PRODUCTS . " p
                                                  ON op.products_id = p.products_id
                                             JOIN " . TABLE_PRODUCTS_DESCRIPTION . " pd
                                                  ON p.products_id = pd.products_id
                                                     AND language_id = '" . (int)$_SESSION['languages_id'] . "'
                                            WHERE o.customers_id = '" . (int)$_SESSION['customer_id'] . "'
                                              AND p.products_status = '1' 
                                         GROUP BY p.products_id 
                                         ORDER BY o.date_purchased DESC 
                                            LIMIT " . MAX_DISPLAY_PRODUCTS_IN_ORDER_HISTORY_BOX);

Ersetze mit:

    // retreive the last x products purchased
    $orders_query = xtc_db_query("SELECT DISTINCT p.products_id,
                                                  pd.products_name,
                                                  o.orders_id,
                                                  op.orders_products_id
                                             FROM " . TABLE_ORDERS . " o
                                             JOIN " . TABLE_ORDERS_PRODUCTS . " op
                                                  ON o.orders_id = op.orders_id
                                             JOIN " . TABLE_PRODUCTS . " p
                                                  ON op.products_id = p.products_id
                                             JOIN " . TABLE_PRODUCTS_DESCRIPTION . " pd
                                                  ON p.products_id = pd.products_id
                                                     AND language_id = '" . (int)$_SESSION['languages_id'] . "'
                                            WHERE o.customers_id = '" . (int)$_SESSION['customer_id'] . "'
                                              AND p.products_status = '1'
                                                  ".PRODUCTS_CONDITIONS_P."
                                         GROUP BY p.products_id 
                                         ORDER BY o.date_purchased DESC 
                                            LIMIT " . MAX_DISPLAY_PRODUCTS_IN_ORDER_HISTORY_BOX);

Template um separate Artikel Überschrift erweitern[Bearbeiten]

  • optional

Aus dem original xtc5 bzw. tpl_modified Template sind die folgenden Dateien ins eigene Template in die selben Ordner zu kopieren:

 /templates/tpl_modified/module/product_info/product_info_tabs_v1.html
 /templates/tpl_modified/module/product_info/product_info_v1.html
 /templates/tpl_modified/module/product_info/product_info_x_accordion_v1.html
 /templates/tpl_modified/source/boxes/best_sellers.php
 /templates/tpl_modified/source/boxes/last_viewed.php
 /templates/tpl_modified/source/boxes/reviews.php
 /templates/tpl_modified/source/boxes/specials.php
 /templates/tpl_modified/source/boxes/whats_new.php
 /templates/xtc5/module/product_info/product_info_tabs_v1.html
 /templates/xtc5/module/product_info/product_info_v1.html
 /templates/xtc5/module/product_info/product_info_x_accordion_v1.html
 /templates/xtc5/source/boxes/best_sellers.php
 /templates/xtc5/source/boxes/last_viewed.php
 /templates/xtc5/source/boxes/reviews.php
 /templates/xtc5/source/boxes/specials.php
 /templates/xtc5/source/boxes/whats_new.php

Alternativ kann die Datei auch manuell wie folgt ergänzt werden:

Für beide Templates gilt:

Die folgenden Dateien wie folgt bearbeiten:

/templates/TEMPLATENAME/module/product_info/product_info_*.html

Suche:

{$PRODUCTS_NAME}

Ersetze mit:

{if $PRODUCTS_HEADING_TITLE != ''}{$PRODUCTS_HEADING_TITLE}{else}{$PRODUCTS_NAME}{/if}

Die folgende Datei wie folgt bearbeiten:

/templates/TEMPLATENAME/source/boxes/best_sellers.php

Suche:

    $best_sellers_query = "SELECT ".$select."
                                  p.products_id,
                                  p.products_price,
                                  p.products_tax_class_id,
                                  p.products_image,
                                  p.products_vpe,
                                  p.products_vpe_status,
                                  p.products_vpe_value,
                                  pd.products_name
                             FROM ".TABLE_PRODUCTS." p

Ersetze mit:

    $best_sellers_query = "SELECT ".$select."
                                  ".$product->default_select."
                             FROM ".TABLE_PRODUCTS." p

Suche:

    $best_sellers_query = "SELECT ".$select."
                                  p.products_id,
                                  p.products_image,
                                  p.products_price,
                                  p.products_vpe,
                                  p.products_vpe_status,
                                  p.products_vpe_value,
                                  p.products_tax_class_id,
                                  pd.products_name 
                             FROM ".TABLE_PRODUCTS." p

Ersetze mit:

    $best_sellers_query = "SELECT ".$select."
                                  ".$product->default_select."
                             FROM ".TABLE_PRODUCTS." p

Die folgende Datei wie folgt bearbeiten:

/templates/TEMPLATENAME/source/boxes/last_viewed.php

Suche:

    $random_query = "SELECT p.products_id,
                            p.products_price,
                            p.products_tax_class_id,
                            p.products_image,
                            p.products_vpe,
                            p.products_vpe_status,
                            p.products_vpe_value,
                            pd.products_name,
                            p2c.categories_id,
                            cd.categories_name
                       FROM " . TABLE_PRODUCTS . " p

Ersetze mit:

    $random_query = "SELECT ".$product->default_select.",
                            p2c.categories_id,
                            cd.categories_name
                       FROM " . TABLE_PRODUCTS . " p

Die folgende Datei wie folgt bearbeiten:

/templates/TEMPLATENAME/source/boxes/reviews.php

Suche:

  $reviews_query = "SELECT r.reviews_id,
                           r.reviews_rating,
                           substring(rd.reviews_text, 1, 60) as reviews_text,
                           p.products_id,
                           p.products_image,
                           pd.products_name
                      FROM ".TABLE_REVIEWS." r

Ersetze mit:

  $reviews_query = "SELECT r.reviews_id,
                           r.reviews_rating,
                           substring(rd.reviews_text, 1, 60) as reviews_text,
                           p.products_id,
                           p.products_image,
                           pd.products_name,
                           pd.products_heading_title
                      FROM ".TABLE_REVIEWS." r

Suche:

      $box_smarty->assign('PRODUCTS_NAME', $reviews['products_name']);

Füge danach ein:

      $box_smarty->assign('PRODUCTS_HEADING_TITLE', $reviews['products_heading_title']);

Die folgende Datei wie folgt bearbeiten:

/templates/TEMPLATENAME/source/boxes/specials.php

Suche:

$specials_query = xtc_db_query("SELECT p.products_id,
                                       pd.products_name,
                                       p.products_price,
                                       p.products_tax_class_id,
                                       p.products_image,
                                       s.expires_date,
                                       p.products_vpe,
                                       p.products_vpe_status,
                                       p.products_vpe_value,
                                       s.specials_new_products_price
                                  FROM ".TABLE_PRODUCTS." p

Ersetze mit:

$specials_query = xtc_db_query("SELECT ".$product->default_select.",
                                       s.expires_date,
                                       s.specials_new_products_price
                                  FROM ".TABLE_PRODUCTS." p

Die folgende Datei wie folgt bearbeiten:

/templates/TEMPLATENAME/source/boxes/whats_new.php

Suche:

$whats_new_query = xtc_db_query("SELECT DISTINCT p.products_id,
                                                 p.products_image,                                              
                                                 p.products_tax_class_id,
                                                 p.products_vpe,
                                                 p.products_vpe_status,
                                                 p.products_vpe_value,
                                                 p.products_price,
                                                 pd.products_name
                                            FROM ".TABLE_PRODUCTS." p

Ersetze mit:

$whats_new_query = xtc_db_query("SELECT DISTINCT ".$product->default_select."
                                            FROM ".TABLE_PRODUCTS." p

Admin-Bar im Frontend erweitern um Links für Cache-Status, Support-Formular und Template-/Module-Shop[Bearbeiten]

  • optional

Betrifft nur die Templates tpl_modified, tpl_modified_responsive_1 & tpl_modified_responsive_2

Aus dem original tpl_modified Template sind die folgenden Dateien ins eigene Template in die selben Ordner zu kopieren:

/templates/tpl_modified/boxes/box_admin.html
/templates/tpl_modified/img/adminbar_attention.png
/templates/tpl_modified/img/adminbar_shop.png
/templates/tpl_modified/img/adminbar_support.png
/templates/tpl_modified/lang/lang_english.custom
/templates/tpl_modified/lang/lang_german.custom
/templates/tpl_modified/source/boxes/admin.php

Wer eines unserer responsive Templates einsetzt, der kopiert die folgende Datei ins eigene Template in den selben Ordner:

/templates/tpl_modified_responsive/css/media-queries.css

Alternativ können die Dateien auch manuell wie folgt ergänzt werden:

/templates/tpl_modified/boxes/box_admin.html

Suche:

    {if isset($CONTENT_MANAGER)}
      <li class="togglemenu">
        <a class="togglelink" href="{$CONTENT_MANAGER}" {if !isset($EDIT_CONTENT)}title="{#ab_contentmanager#}"{/if}><img src="{$tpl_path}img/adminbar_content.png" alt="{#ab_contentmanager#}" /></a>
        {if isset($EDIT_CONTENT)}
        <ul>
          <li><a href="{$EDIT_CONTENT}">{#ab_edit_content#}</a></li>
        </ul>
        {/if}
      </li>
    {/if}

Füge danach ein:

    {if isset($CACHING)}
      <li class="togglemenu">
        {if isset($CACHING_LINK)}<a class="togglelink" href="{$CACHING_LINK}" title="{#ab_caching#}">{/if}<img src="{$tpl_path}img/adminbar_attention.png" alt="{#ab_caching#}" />{if isset($CACHING_LINK)}</a>{/if}
      </li>
    {/if}

Suche:

    {if isset($UPDATE)}
      <li class="right">
        <a class="togglelink" href="{$UPDATE}" title="{#ab_update#}"><img src="{$tpl_path}img/adminbar_update.png" alt="{#ab_update#}" />
        {if $UPDATE_COUNT > 0}<span class="icon_count">{$UPDATE_COUNT}</span>{/if}
        </a>
      </li>
    {/if}

Füge danach ein:

    {if isset($SUPPORT)}
      <li class="right">
        <a class="togglelink" href="{$SUPPORT}" title="Support"><img src="{$tpl_path}img/adminbar_support.png" alt="{#ab_support#}" /></a>
      </li>
    {/if}
    <li class="right">
      <a class="togglelink" target="_blank" href="https://www.modified-shop.org/shop/" title="Shop"><img src="{$tpl_path}img/adminbar_shop.png" alt="{#ab_shop#}" /></a>
    </li>

Die folgende Datei wie folgt bearbeiten:

/templates/tpl_modified/lang/lang_english.custom

Suche:

ab_update = 'Update'

Füge danach ein:

ab_support = 'Support'
ab_shop = 'Shop'
ab_caching = 'Caching'

Die folgende Datei wie folgt bearbeiten:

/templates/tpl_modified/lang/lang_german.custom

Suche:

ab_update = 'Update'

Füge danach ein:

ab_support = 'Support'
ab_shop = 'Shop'
ab_caching = 'Caching'

Die folgende Datei wie folgt bearbeiten:

/templates/tpl_modified/source/boxes/admin.php

Suche:

// content manager
if ($admin_access['content_manager'] == '1') {
  if (isset($_GET['coID'])) {
    $box_smarty->assign('EDIT_CONTENT', xtc_href_link_admin((defined('DIR_ADMIN') ? DIR_ADMIN : 'admin/').'content_manager.php', 'action=edit&coID='.(int)$_GET['coID']));
  }
  $box_smarty->assign('CONTENT_MANAGER', xtc_href_link_admin((defined('DIR_ADMIN') ? DIR_ADMIN : 'admin/').'content_manager.php', '', 'NONSSL'));
}

Füge danach ein:

// caching
if (DB_CACHE == 'true' || USE_CACHE == 'true') {
  $box_smarty->assign('CACHING', true);
  if ($admin_access['configuration'] == '1') {
    $box_smarty->assign('CACHING_LINK', xtc_href_link_admin((defined('DIR_ADMIN') ? DIR_ADMIN : 'admin/').'configuration.php', 'gID=11', 'NONSSL'));
  }
}

Suche:

// start
if ($admin_access['start'] == '1') {
  $box_smarty->assign('START', xtc_href_link_admin(FILENAME_START,'', 'NONSSL'));
}

Füge danach ein:

// support
$box_smarty->assign('SUPPORT', xtc_href_link_admin((defined('DIR_ADMIN') ? DIR_ADMIN : 'admin/').'support.php','', 'NONSSL'));

Die folgende Datei (sofern vorhanden) wie folgt bearbeiten:

/templates/TEMPLATENAME/css/media-queries.css

Suche:

  ul#checkoutnavigation.cn_no_shipping li { width: 100%; }
}


@media screen and (max-width: 500px) {
  #admin ul li.logo { display:none;}

Ersetze mit:

  ul#checkoutnavigation.cn_no_shipping li { width: 100%; }
  #admin ul li.right { display: none; }
}


@media screen and (max-width: 500px) {
  #admin ul li.logo { display:none;}

Wegfall der Adminberechtigung für "start"[Bearbeiten]

  • zwingend notwendig

Betrifft nur die Templates tpl_modified, tpl_modified_responsive_1 & tpl_modified_responsive_2

Aus dem original tpl_modified Template ist die folgende Datei ins eigene Template in die selben Ordner zu kopieren:

 /templates/tpl_modified/source/boxes/admin.php

Alternativ kann die Datei auch manuell wie folgt ergänzt werden:

Die folgende Datei wie folgt bearbeiten:

/templates/TEMPLATENAME/source/boxes/admin.php

Suche:

// start
if ($admin_access['start'] == '1') {
  $box_smarty->assign('START', xtc_href_link_admin(FILENAME_START,'', 'NONSSL'));
}

Ersetze mit:

// start
$box_smarty->assign('START', xtc_href_link_admin(FILENAME_START,'', 'NONSSL'));

Suchen-Box erweitern um Kategorie-Dropdown vor Suchfeld[Bearbeiten]

  • optional

Aus dem original xtc5 bzw. tpl_modified Template sind die folgenden Dateien ins eigene Template in den selben Ordner zu kopieren:

 /templates/tpl_modified/boxes/box_search.html
 /templates/tpl_modified/javascript/general_bottom.js.php
 /templates/tpl_modified/source/boxes/search.php
 /templates/tpl_modified/stylesheet.css
 /templates/xtc5/boxes/box_search.html
 /templates/xtc5/javascript/general_bottom.js.php
 /templates/xtc5/source/boxes/search.php
 /templates/xtc5/stylesheet.css

Alternativ kann die Datei auch manuell wie folgt ergänzt werden:

Für Template xtc5:

Die folgende Datei wie folgt bearbeiten:

 /templates/xtc5/boxes/box_search.html

Suche:

<table border="0" class="search_header" cellspacing="0" cellpadding="0">

Ersetze mit:

<table border="0" class="search_header{if isset($CATEGORIES)} search_cat_mode{/if}" cellspacing="0" cellpadding="0">

Suche:

    <td colspan="2"><strong>{#heading_search#}:</strong></td>

Ersetze mit:

    <td colspan="{if isset($CATEGORIES)}3{else}2{/if}"><strong>{#heading_search#}:</strong></td>

Suche:

  <tr>
    <td>{$INPUT_SEARCH}</td>
    <td>{$BUTTON_SUBMIT}</td>
  </tr>

Ersetze mit:

  <tr>
    {if isset($CATEGORIES)}<td>{$CATEGORIES}</td>{/if}
    <td>{$INPUT_SEARCH}</td>
    <td>{$BUTTON_SUBMIT}</td>
  </tr>

Suche:

    <td colspan="2"><a href="{$LINK_ADVANCED}">{#text_advanced_search#}</a></td>

Ersetze mit:

    <td colspan="{if isset($CATEGORIES)}3{else}2{/if}"><a href="{$LINK_ADVANCED}">{#text_advanced_search#}</a></td>

Die folgende Datei wie folgt bearbeiten:

 /templates/xtc5/javascript/general_bottom.js.php

Suche:

  function ac_lookup(inputString) {
    if(inputString.length == 0) {
      $('#suggestions').hide();
    } else {
      $.post("<?php echo xtc_href_link('api/autocomplete/autocomplete.php', '', $request_type); ?>", {queryString: ""+inputString+""}, function(data) {
        if(data.length > 0) {
          $('#suggestions').slideDown();
          $('#autoSuggestionsList').html(data);
          ac_showPage(1);
          $('#autocomplete_prev').click(ac_prevPage);
          $('#autocomplete_next').click(ac_nextPage);
        }
      });
    }
  }

Ersetze mit:

  function ac_lookup(inputString) {
    if(inputString.length == 0) {
      $('#suggestions').hide();
    } else {
      var post_params = $('#quick_find').serialize();
      post_params = post_params.replace("keywords=", "queryString=");
		  
			$.post("<?php echo xtc_href_link('api/autocomplete/autocomplete.php', '', $request_type); ?>", post_params, function(data) {
        if(data.length > 0) {
          $('#suggestions').slideDown();
          $('#autoSuggestionsList').html(data);
          ac_showPage(1);
          $('#autocomplete_prev').click(ac_prevPage);
          $('#autocomplete_next').click(ac_nextPage);
        }
      });
    }
  }
	$('#cat_search').on('change', function () {
	  $('#inputString').val('');
	});

Die folgende Datei wie folgt bearbeiten:

 /templates/xtc5/source/boxes/search.php

Suche:

  $filename = FILENAME_ADVANCED_SEARCH_RESULT;
  if (defined('MODULE_FINDOLOGIC_STATUS') && MODULE_FINDOLOGIC_STATUS == 'True') {
    $filename = FILENAME_FINDOLOGIC;
  }
  $box_smarty->assign('FORM_ACTION', xtc_draw_form('quick_find', xtc_href_link($filename, '', $request_type, false), 'get', 'class="box-search"') . xtc_hide_session_id());
  $box_smarty->assign('INPUT_SEARCH', xtc_draw_input_field('keywords', IMAGE_BUTTON_SEARCH, 'id="inputString" maxlength="30" autocomplete="off" '.((SEARCH_AC_STATUS == 'true') ? 'onkeyup="ac_lookup(this.value);" ' : '').'onfocus="if(this.value==this.defaultValue) this.value=\'\';" onblur="if(this.value==\'\') this.value=this.defaultValue;"'));

Ersetze mit:

  if (defined('SEARCH_AC_CATEGORIES')
      && SEARCH_AC_CATEGORIES == 'true'
      )
  {
    $categories_array = array(array(
      'id' => '',
      'text' => TEXT_AC_ALL_CATEGORIES,
    ));
    $categories_query = xtDBquery("SELECT c.categories_id,
                                          cd.categories_name
                                     FROM ".TABLE_CATEGORIES." c
                                     JOIN ".TABLE_CATEGORIES_DESCRIPTION." cd
                                          ON c.categories_id = cd.categories_id
                                             AND cd.language_id='".(int)$_SESSION['languages_id']."'
                                             AND trim(cd.categories_name) != ''
                                    WHERE c.categories_status = '1'
                                      AND c.parent_id = '0'
                                          ".CATEGORIES_CONDITIONS_C."
                                 ORDER BY c.sort_order, cd.categories_name");
    if (xtc_db_num_rows($categories_query, true) > 0) {
      while ($categories = xtc_db_fetch_array($categories_query, true)) {
        $categories_array[] = array(
          'id' => $categories['categories_id'],
          'text' => $categories['categories_name'],
        );
      }
    }
    $box_smarty->assign('CATEGORIES', xtc_draw_pull_down_menu('categories_id', $categories_array, isset($_GET['categories_id']) ? (int)$_GET['categories_id'] : '', 'id="cat_search"').xtc_draw_hidden_field('inc_subcat', '1'));
  }
  $box_smarty->assign('FORM_ACTION', xtc_draw_form('quick_find', xtc_href_link(FILENAME_ADVANCED_SEARCH_RESULT, '', $request_type, false), 'get', 'class="box-search"') . xtc_hide_session_id());
  $box_smarty->assign('INPUT_SEARCH', xtc_draw_input_field('keywords', '', 'placeholder="'.IMAGE_BUTTON_SEARCH.'" id="inputString" maxlength="30" autocomplete="off" '.((SEARCH_AC_STATUS == 'true') ? 'onkeyup="ac_lookup(this.value);" ' : '')));

Die folgende Datei wie folgt bearbeiten:

 /templates/xtc5/stylesheet.css

Suche:

#header #search {
  width:230px;
  height:75px;
  float:right;
  color:#fff;
  padding:30px 0 0 60px;
}
#header #search a {
  color:#fff;
  font-size:11px;
  outline:none;
}
#header td {
  padding-top:1px;
  padding-right:4px;
}

Ersetze mit:

#header #search {
  width:260px;
  height:75px;
  float:right;
  color:#fff;
  padding:30px 0 0 60px;
}
#header #search a {
  color:#fff;
  font-size:11px;
  outline:none;
}
#header #search td {
  vertical-align:top;
}
#quick_find .search_cat_mode input[type="text"] {
  width: 140px;
  height:20px;
  border: 1px solid #666;
  padding: 2px;
  background: url(img/input_bg.gif) no-repeat;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
#quick_find input[type="text"] {
  width: 205px;
  height:20px;
  border: 1px solid #666;
  padding: 2px;
  background: url(img/input_bg.gif) no-repeat;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
#quick_find select {
  width: 60px;
  height:20px;
  border: 1px solid #666;
  color:#555;
  padding: 2px;
  background: url(img/input_bg.gif) no-repeat;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
#header td {
  padding-top:1px;
}

Für Template tpl_modified:

Die folgende Datei wie folgt bearbeiten:

 /templates/tpl_modified/boxes/box_search.html

Suche:

{$INPUT_SEARCH}{$BUTTON_SUBMIT}
<br class="clearfix" />

Ersetze mit:

<div class="search_inner{if isset($CATEGORIES)} search_cat_mode{/if}">
  {if isset($CATEGORIES)}<div class="search_cat">{$CATEGORIES}</div>{/if}
  <div class="search_input">{$INPUT_SEARCH}</div>
  <div class="search_button">{$BUTTON_SUBMIT}</div>
</div>

Die folgende Datei wie folgt bearbeiten:

 /templates/tpl_modified/javascript/general_bottom.js.php

Suche:

	function ac_lookup(inputString) {
		if(inputString.length == 0) {
			$('#suggestions').hide();
		} else {
			$.post("<?php echo xtc_href_link('api/autocomplete/autocomplete.php', '', $request_type); ?>", {queryString: ""+inputString+""}, function(data) {
				if(data.length > 0) {
					$('#suggestions').slideDown();
					$('#autoSuggestionsList').html(data);
					ac_showPage(1);
					$('#autocomplete_prev').click(ac_prevPage);
          $('#autocomplete_next').click(ac_nextPage);
				}
			});
		}
	}

Ersetze mit:

	function ac_lookup(inputString) {
		if(inputString.length == 0) {
			$('#suggestions').hide();
		} else {
      var post_params = $('#quick_find').serialize();
      post_params = post_params.replace("keywords=", "queryString=");
		  
			$.post("<?php echo xtc_href_link('api/autocomplete/autocomplete.php', '', $request_type); ?>", post_params, function(data) {
				if(data.length > 0) {
					$('#suggestions').slideDown();
					$('#autoSuggestionsList').html(data);
					ac_showPage(1);
					$('#autocomplete_prev').click(ac_prevPage);
          $('#autocomplete_next').click(ac_nextPage);
				}
			});
		}
	}
	$('#cat_search').on('change', function () {
	  $('#inputString').val('');
	});

Die folgende Datei wie folgt bearbeiten:

 /templates/tpl_modified/source/boxes/search.php

Suche:

  $filename = FILENAME_ADVANCED_SEARCH_RESULT;
  if (defined('MODULE_FINDOLOGIC_STATUS') && MODULE_FINDOLOGIC_STATUS == 'True') {
    $filename = FILENAME_FINDOLOGIC;
  }
  $box_smarty->assign('FORM_ACTION', xtc_draw_form('quick_find', xtc_href_link($filename, '', $request_type, false), 'get', 'class="box-search"') . xtc_hide_session_id());
  $box_smarty->assign('INPUT_SEARCH', xtc_draw_input_field('keywords', IMAGE_BUTTON_SEARCH, 'id="inputString" maxlength="30" autocomplete="off" '.((SEARCH_AC_STATUS == 'true') ? 'onkeyup="ac_lookup(this.value);" ' : '').'onfocus="if(this.value==this.defaultValue) this.value=\'\';" onblur="if(this.value==\'\') this.value=this.defaultValue;"'));

Ersetze mit:

  if (defined('SEARCH_AC_CATEGORIES')
      && SEARCH_AC_CATEGORIES == 'true'
      )
  {
    $categories_array = array(array(
      'id' => '',
      'text' => TEXT_AC_ALL_CATEGORIES,
    ));
    $categories_query = xtDBquery("SELECT c.categories_id,
                                          cd.categories_name
<