WICHTIG: 1. Sichern Sie vor dem Updateprozess Ihre Shopdatenbank mit PhpMyAdmin oder MySqlDumper und das komplette Shopverzeichnis per FTP um eventuelle Datenverluste zu vermeiden! |
Ist meine Lizenz freigegeben ?
Um das Update von 4.0.13 auf 4.0.14 durchzuführen muss Ihre Lizenz für 4.0.14 freigegeben sein.
Für Welche Version Ihre Lizenz gültig ist, finden Sie in der lic/license.txt Datei
z.B.:
company: xt:Commerce GmbH
created: 2009-10-09 01:18:15
key: b108799745bdb247a128f5842fae50d5
license: VEYTON - Ultimate
mailaddress: max_mustermann@xtcommerce.com
maxproducts: 0
name: Max Mustermann
project: xt:Commerce Veyton
maxversion: 4014
Der Parameter maxversion gibt hierbei die maximal mögliche Version an.
Wichtig: |
1. Update der Datenbank:
Laden Sie das Updateverzeichnis (xtUpdater) per FTP in Ihren Shopordner. LINK UPDATE
Starten Sie das Updateskript über den Browser:
http://www.ihr-shop.tld/xtUpdater/index.php
Folgen Sie nun den Anweisungen des Updateskriptes um das Update der Datenbank zu komplettieren.
3. Update des Dateisystems:
Für das Dateiupdate wird die 4.0.14 Vollversion benötigt, diese finden Sie hier:
http://www.xt-commerce.info/index.php?_m=downloads&_a=viewdownload&downloaditemid=60&nav=0,5
Um das Dateisystem des Shop auf den neuesten Stand zu bringen, müssen Sie lediglich alle Shopdatein bis auf /conf/config.php, das Verzeichnix xtInstaller und ihrem Template unter /templates/xt_default mit den Datein aus dem neuen Shoparchiv (4.0.14) überschreiben.
Überprüfen Sie danach die Schreibrechte der Ordner:
/media
/cache
/templates_c
/plugin_cache
Diese Ordner benötigen inclusive aller Unterordner CHMOD 777 (Schreibrechte) als Rechte.
4. Plugins
Sollten Sie eines der folgenden Plugins verwenden, deinstallieren Sie dieses und installieren es erneut:
- xt_privacycheck
- xt_PayPal
5. Update der Templates
Templateupdate Admin:
Den Ordner /templates/_xtAdmin komplett mit dem neuen Ordner aus dem Download der 4.0.14 ersetzen.
Templateupdate Shop:
Sollten Sie bisher nichts am Original Template (xt_default) geändert haben bzw ein komplett eigenes Template mit einem anderen Namen als xt_default verwenden kann der Templateordner xt_default überschrieben werden.
Geänderte Templatedateien:
./xtCore/pages/payment/payment_default.html
./xtCore/pages/account_history_info.html
./xtCore/pages/default.html
./xtCore/pages/search.html
./xtCore/pages/product_listing/product_listing_v1.html
./xtCore/pages/categorie_listing/categorie_listing.html (optional, Kategoriebilder werden in der neuen Version verwendet)
./xtCore/pages/checkout/subpage_payment.html
./xtCore/pages/checkout/subpage_confirmation.html
./xtCore/pages/product/product.html
./xtCore/pages/cart.html
./xtCore/boxes/box_cart.html
./xtCore/forms/shipping.html
./xtCore/pages/login.html
./xtCore/pages/edit_address.html
Plugins
./plugins/xt_paypal/templates/paypal_checkout.html
./plugins/xt_master_slave/templates/options/ms_default.html
./plugins/xt_master_slave/templates/product_listing/ms_product_list_default.html
./plugins/xt_special_products/templates/boxes/box_xt_special_products.html
./plugins/xt_paypal/templates/paypal_checkout.html
in Datein suchen:
<img src="https://www.paypal.com/de_DE/DE/i/logo/lockbox_100x31.gif" border="0" alt="PayPal-Bezahlmethoden-Logo">
ersetzen mit:
{if $payment_icon} {img img=$payment_icon type=w_media_payment}{else}<img src="https://www.paypal.com/de_DE/DE/i/logo/lockbox_100x31.gif" border="0" alt="PayPal-Bezahlmethoden-Logo">{/if}
./plugins/xt_master_slave/templates/options/ms_default.html
in Datein suchen:
{foreach key=key_data item=item_data from=$options_data.data}
<option value="{$item_data.id}" {if $item_data.selected} selected="" {/if}>{$item_data.text}</option>
{/foreach}
</select>{form type=formend}
</td>
</tr>
{/foreach}
ersetzen mit:
{foreach key=key_data item=item_data from=$options_data.data}
<option value="{$item_data.id}" {if $item_data.selected} selected="" {/if} {if $item_data.disabled} disabled="disabled" {/if}>{$item_data.text}</option>
{/foreach}
</select>
{form type=formend}
</td>
</tr>
{/foreach}
{if XT_MASTER_SLAVE_CONF_SHOW_RESET eq "true"}
<tr>
<td width="200" align="right"> </td>
<td>
<form action="{$masterLink}" method="post">
{button text=$smarty.const.XT_MASTER_SLAVE_TEXT_RESET_OPTIONS file='ms_reset_options.gif' type='form'}
</form>
</td>
</tr>
{/if}
{if XT_MASTER_SLAVE_CONF_SHOW_LINK eq "true" && $masterLink}
<tr>
<td width="200" align="right"> </td>
<td>
<a href="{$masterLink}">{txt key=XT_MASTER_SLAVE_TEXT_LINK_TO_MASTER}</a>
</td>
</tr>
{/if}
./plugins/xt_master_slave/templates/product_listing/ms_product_list_default.html
in Datein suchen:
{foreach name=aussen item=module_data from=$product_listing}
ersetzen mit:
{foreach name=aussen item=module_data from=$product_listing}
{if $module_data.products_id != $smarty.get.info}
in Datein suchen:
<div class="hrproductpreview"></div>
ersetzen mit:
<div class="hrproductpreview"></div>
{/if}
./plugins/xt_special_products/templates/boxes/box_xt_special_products.html
in Datein suchen:
{if $special_products_data.products_image!=''}<a href="{$special_products_data.products_link}">{img img=$special_products_data.products_image type=m_thumb class=productImageBorder width=50 alt=$special_products_data.products_name}</a>{/if}
ersetzen mit:
{if $special_products_data.products_image!=''}<a href="{$special_products_data.products_link}">{img img=$special_products_data.products_image type=m_thumb class=productImageBorder width=50 alt=$special_products_data.products_name|escape:"html"}</a>{/if}
./xtCore/pages/payment/payment_default.html
in Datein suchen:
<td class="header"><strong>{$payment_icon}</strong></td>
ersetzen mit:
<td class="header"><strong>{img img=$payment_icon type=w_media_payment}</strong></td>
./xtCore/pages/account_history_info.html
in Datein suchen:
<p>{$history_values.date_added} {$history_values.orders_status_id} {$history_values.comments}</p>
ersetzen mit:
<p>{$history_values.date_added} <b>{$history_values.status_name}</b> {if $history_values.customer_show_comment eq '1'}{$history_values.comments}{/if}</p>
./index.html
in Datein suchen:
{box name=manufacturers}
ersetzen mit:
{box name=manufacturers order_by='m.manufacturers_name'}
./xtCore/pages/default.html
in Datein suchen:
{page name=xt_startpage_products type=user order_by='p.products_sort' tpl_type='product_listing'}
ersetzen mit:
{page name=xt_startpage_products type=user order_by='p.products_startpage_sort' tpl_type='product_listing'}
./xtCore/pages/search.html
in Datein suchen:
<td width="55%">{form type=select name=cat value=$cat_data}<br>
{form type=checkbox name=subkat} {txt key=text_search_subcategories}</td>
ersetzen mit:
<td width="55%">{form type=select name=cat default=$default_cat value=$cat_data}<br>
{if $checked_subcat eq 'checked'}{form type=checkbox name=subkat checked=$checked_subcat} {else}{form type=checkbox name=subkat}{/if} {txt key=text_search_subcategories}</td>
in Datein suchen:
<td width="55%">{form type=select name=mnf value=$mnf_data}</td>
ersetzen mit:
<td width="55%">{form type=select name=mnf default=$default_mnf value=$mnf_data}</td>
in Datein suchen:
<td width="55%">{form type=checkbox name=sdesc}</td>
ersetzen mit:
<td width="55%">{if $checked_sdesc eq 'checked'}{form type=checkbox name=sdesc checked=$checked_sdesc}{else}{form type=checkbox name=sdesc}{/if}</td>
in Datein suchen:
<td width="55%">{form type=checkbox name=desc}</td>
ersetzen mit:
<td width="55%">{if $checked_desc eq 'checked'}{form type=checkbox name=desc checked=$checked_desc}{else}{form type=checkbox name=desc}{/if}</td>
./xtCore/pages/product_listing/product_listing_v1.html
in Datein suchen:
{form type=hidden name=page value='categorie'}
{form type=hidden name=cat value=$current_category_id}
ersetzen mit:
{if isset($current_manufacturer_id)}{form type=hidden name=page value='manufacturers'} {else} {form type=hidden name=page value='categorie'} {/if}
{if isset($current_category_id)}{form type=hidden name=cat value=$current_category_id}{/if}
{if isset($current_manufacturer_id)}{form type=hidden name=mnf value=$current_manufacturer_id}{/if}
in Datein suchen:
{form type=select name=sorting value=$sort_dropdown.options default='' onchange='this.form.submit();'}
ersetzen mit:
{form type=select name=sorting value=$sort_dropdown.options default=$sort_default onchange='this.form.submit();'}
in Datein suchen:
{if $module_data.products_weight > 0}<p class="taxandshippinginfo">{txt key=TEXT_PRODUCTS_WEIGHT}: {$module_data.products_weight} KG</p>{/if}
ersetzen mit:
{if $module_data.products_weight > 0}<p class="taxandshippinginfo">{txt key=TEXT_PRODUCTS_WEIGHT}: {$module_data.products_weight|number_format:2:",":"."} KG</p>{/if}
/xtCore/pages/categorie_listing/categorie_listing.html
in Datein suchen:
<p>{foreach name=aussen item=module_data from=$categorie_listing}
<a href="{$module_data.categories_link}">{$module_data.categories_name}</a>,
{/foreach}</p>
ersetzen mit:
{php}$i=0;{/php}
<div id="cat_listing">
{foreach item=module_data from=$categorie_listing}
{php}$i++;if ($i % 2 == 0){{/php} <div class="s_cat odd">
{php}}else{{/php}
<hr class="spacer" />
<div class="s_cat even">
{php}}{/php}
<div class=img_wrap">
<a href="{$module_data.categories_link}" title="{$module_data.categories_name}">
{img img=$module_data.categories_image type=m_category_thumb class=productImageBorder alt=$module_date.categories_name|escape:"html"}
</a><h2><a href="{$module_data.categories_link}" title="{$module_data.categories_name}">{$module_data.categories_name}</a></h2>
</div>
</div>
{/foreach}
<div style="clear:both;"></div>
in Datein suchen:
{page name=xt_new_products type=user order_by='rand()' tpl_type='product_listing'}
ersetzen mit:
{page name=xt_new_products type=user order_by='rand()' tpl_type='product_listing'}
</div>
./xtCore/pages/checkout/subpage_payment.html
in Datein suchen:
{form type=textarea name=comments cols=130 rows=10}
ersetzen mit:
{form type=textarea name=comments cols=130 rows=10}
{if $smarty.const._STORE_TERMSCOND_CHECK eq 'true'}
in Datein suchen:
{if $rescission == 'true'}
ersetzen mit:
{/if}
{if $rescission == 'true'}
./xtCore/pages/checkout/subpage_confirmation.html
in Datein suchen:
{form type=hidden name=action value=process}
ersetzen mit:
{form type=hidden name=action value=process}
{if $smarty.const._STORE_TERMSCOND_CHECK eq 'false'}
{content cont_id=3 is_id='false'}
<p><a href="{$_content_3.content_link}" target="_blank">{txt key=TEXT_TERMSANDCOND_CONFIRMATION}</a> | {$_content_3.content_popup_link}</p>
{/if}
./xtCore/pages/product/product.html
in Datein suchen:
{if $products_weight > 0}<p class="taxandshippinginfo">{txt key=TEXT_PRODUCTS_WEIGHT}: {$products_weight} KG</p>{/if}
ersetzen mit:
{if $products_weight > 0}<p class="taxandshippinginfo">{txt key=TEXT_PRODUCTS_WEIGHT}: {$products_weight|number_format:2:",":"."} KG</p>{/if}
in Datein suchen und löschen
{if $products_fsk18=='1'}<div class="hrlightgrey"></div><img src="media/images/icon/usk18.gif" alt="" style="cursor:default" />{/if}
in Datein suchen:
<div style="clear:both;"></div>
ersetzen mit:
<div style="clear:both;"></div>
{if $products_fsk18=='1'}
<ul class="info_error">
<li class="infoError">{txt key=TEXT_PRODUCTS_FSK18_NOTE}</li>
</ul>
{/if}
./xtCore/pages/cart.html
in Datein suchen:
{if $cart_total_weight > 0}<br />({txt key=TEXT_PRODUCTS_WEIGHT}: {$cart_total_weight} KG){/if}
ersetzen mit:
{if $cart_total_weight > 0}<br />({txt key=TEXT_PRODUCTS_WEIGHT}: {$cart_total_weight|number_format:2:",":"."} KG){/if}
./xtCore/boxes/box_cart.html
in Datein suchen:
{if $cart_total_weight > 0}<br />({txt key=TEXT_PRODUCTS_WEIGHT}: {$cart_total_weight} KG){/if}
ersetzen mit:
{if $cart_total_weight > 0}<br />({txt key=TEXT_PRODUCTS_WEIGHT}: {$cart_total_weight|number_format:2:",":"."} KG){/if}
./xtCore/forms/shipping.html
in Datein suchen:
{if $shipping_data}
<br />
{foreach name=aussen item=shipping_values from=$shipping_data}
<h2>{$shipping_values.shipping_name}</h2>
<table class="tabledetails" width="100%" border="0" cellspacing="0" cellpadding="4">
<tr class="headerrow">
<td class="left">{txt key=TEXT_RANGE_FROM}</td>
<td class="left">{txt key=TEXT_RANGE_TO}</td>
<td class="right">{txt key=TEXT_TOTAL_PRICE} {if $shipping_values.shipping_type eq 'item'}{txt key=TEXT_TYPE_PER_ITEM}{/if}</td>
</tr>
{foreach name=aussen item=costs from=$shipping_values.costs}
<tr class="{cycle values="contentrow1,contentrow2"}">
<td class="left">{$costs.shipping_type_value_from}
{if $shipping_values.shipping_type eq 'weight'}
KG
{/if}
{if $shipping_values.shipping_type eq 'item'}
{txt key=TEXT_TYPE_ITEM}
{/if}
</td>
<td class="left">{$costs.shipping_type_value_to}
{if $shipping_values.shipping_type eq 'weight'}
KG
{/if}
{if $shipping_values.shipping_type eq 'item'}
{txt key=TEXT_TYPE_ITEM}
{/if}
</td>
<td class="right">{$costs.shipping_price}</td>
</tr>
{/foreach}
</table>
{/foreach}
{/if}
ersetzen mit:
{foreach item=shipping_values from=$shipping_data}
<h2>{$shipping_values.shipping_name}</h2>
<table class="tabledetails" width="100%" border="0" cellspacing="0" cellpadding="4">
<tr class="headerrow">
<td class="left">{txt key=TEXT_RANGE_TO}</td>
<td class="right">{txt key=TEXT_TOTAL_PRICE} {if $shipping_values.shipping_type eq 'item'}{txt key=TEXT_TYPE_PER_ITEM}{/if}</td>
</tr>
{foreach name=shipping item=costs from=$shipping_values.costs}
<tr class="{cycle values="contentrow1,contentrow2"}">
<td class="left">
{txt key=TEXT_RANGE_TO}
{$costs.shipping_type_value_to}
{if $shipping_values.shipping_type eq 'weight'}
KG
{/if}
{if $shipping_values.shipping_type eq 'item'}
{txt key=TEXT_TYPE_ITEM}
{/if}
</td>
<td class="right">{$costs.shipping_price}</td>
</tr>
{if $smarty.foreach.shipping.last eq true}
<tr class="contentrow1">
<td class="left">
{txt key=TEXT_RANGE_FROM}
{$costs.shipping_type_value_to}
{if $shipping_values.shipping_type eq 'weight'}
KG
{/if}
{if $shipping_values.shipping_type eq 'item'}
{txt key=TEXT_TYPE_ITEM}
{/if}
</td>
<td class="right">{txt key=TEXT_INFO_NO_SHIPPING}</td>
</tr>
{/if}
{/foreach}
</table>
{/foreach}
{/if}
./xtCore/pages/login.html
in Datein suchen:
{content cont_id=2 is_id='false'}
ersetzen mit:
{content cont_id=2 is_id='false'}
{if $show_privacy_type eq 1}
in Datein suchen:
{/if}
{hook key=login_create_account_tpl}
ersetzen mit:
{else}
<table width="100%" cellspacing="0" cellpadding="4">
<tr>
<td width="100%"><a href="{$privacy_link}" target="_blank">{txt key=TEXT_PRIVACY_TEXT_INFO}</a> {$_content_2.content_popup_link}
</td>
</tr>
</table>
{/if}
{/if}
{hook key=login_create_account_tpl}
./xtCore/pages/edit_address.html
in Datein suchen:
<td>{form type=text name=suburb value=$suburb}</td>
ersetzen mit:
<td>{form type=text name=customers_suburb value=$customers_suburb}</td>
6. Prüfen des Updates
Prüfen Sie Ihren Shop ausgiebig auf jegliches Fehlverhalten, sollten Sie Probleme feststellen kontaktieren Sie uns unter helpdesk@xt-commerce.com