1. Update Vorbereitungen
...
Überprüfen Sie ob Ihre Lizenz für Version 4.2.00 freigegeben ist!
Um das Update von 4.1.10 auf 4.2.00 durchzuführen muss Ihre Lizenz für 4.2.00 freigegeben sein.
Für Welche Version Ihre Lizenz gültig ist, finden Sie in der lic/license.txt Datei auf Ihrem Webserver.
Beispiel:
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: 4200
Der Parameter maxversion gibt hierbei die maximal mögliche Version an.
Wichtig: Starten Sie das Update erst wenn die aktualisierte Lizenz (mit mindestens "maxversion: 4200") in den Ordner /lic/ in Ihren Shop eingespielt wurde!
Sollten Sie eine Lizenz ohne "maxversion"-Parameter haben oder innerhalb des Update-Zeitraums sein und nur eine neue Lizenz benötigen, können Sie unter folgender URL eine aktualisierte Lizenz anfordern:
...
http://addons.xt-commerce.com/index.php?page=send_license
Über diesen Link erhalten Sie immer eine Lizenz die über den maximal für Sie möglichen "maxversion"-Parameter verfügt. Sollten Ihre Lizenz nicht mehr innerhalb des Update-Zeitraums sein, wird Ihnen außerdem das benötigte Update angezeigt.
1.2. Plugin-Updates:
Kontaktieren Sie die Hersteller der von Ihnen verwendeten Plugins. Erfragen Sie, ob:
...
( xt:Commerce Resellern werden zeitnah neue Versionen des Shops zu Testzwecken zur Verfügung gestellt. )
2. Starten des Updates
2.1. Backup:
...
Spielen Sie folgenden Patch von folgender URL in Ihren xt:Commerce 4.1.10 Shop ein:
http://wwwhelpdesk.xt-commerce.infocom/index.php?_m=downloads&_a=viewdownload&downloaditemid=413&nav=0,3,24/Knowledgebase/Article/View/1193/0/4110-update-patch
2.2. Checkliste: Updatevorbereitungen:
...
Code Block | ||
---|---|---|
| ||
<label for="default_address_customers_company">{txt key=TEXT_COMPANY_NAME}</label> |
Ersetzen Sie die Zeile mit folgenden Code:
Code Block | ||
---|---|---|
| ||
<label for="default_address_customers_company">{txt key=TEXT_COMPANY_NAME}{if _STORE_COMPANY_MIN_LENGTH > 0}*{/if}</label> |
...
Code Block | ||
---|---|---|
| ||
<label for="default_address_customers_fax">{txt key=TEXT_FAX}</label> |
Ersetzen Sie die Zeile mit folgenden Code:
Code Block | ||
---|---|---|
| ||
<label for="default_address_customers_fax">{txt key=TEXT_FAX}{if _STORE_FAX_MIN_LENGTH > 0}*{/if}</label> |
...
Code Block | ||
---|---|---|
| ||
{form params='id="default_address_customers_federal_state_code"' type=select name=default_address[customers_federal_state_code] value=$federal_states.federal_states} |
Ersetzen Sie die Zeile mit folgenden Code:
Code Block | ||
---|---|---|
| ||
{form params='id="default_address_customers_federal_state_code"' type=select name=default_address[customers_federal_state_code] value=$federal_states.federal_states default=$default_address.customers_federal_state_code} |
...
Code Block | ||
---|---|---|
| ||
{page name=xt_startpage_products type=user tpl_type='product_listing'} |
4.1.4.: /templates/xt_grid/xtCore/pages/checkout/subpage_confirmation.html
Diese Anpassung erlaubt uns mit kommenden Plugins im Checkout flexibler zu arbeiten. Unter anderem die Anbindung an Elefunds benötigt diese Anpassung zwingend.
Suchen Sie die Zeile:
Code Block | ||
---|---|---|
| ||
{form type=form name=process action='checkout' method=post conn=SSL} |
...
Code Block | ||
---|---|---|
| ||
{form type=form name=process action='checkout' method=post conn=SSL id='checkout-form'} |
Suchen Sie die Zeilen:
Code Block | ||
---|---|---|
| ||
</thead> <tfoot> |
Fügen Sie danach folgenden Code ein:
Code Block | ||
---|---|---|
| ||
{hook key=checkout_tpl_form_total_lines} |
Suchen Sie die Zeile:
Code Block | ||
---|---|---|
| ||
<p class="total">{txt key=TEXT_TOTAL}<span class="float-right">{$total}</span></p> |
Ersetzen Sie die Zeile mit folgenden Code:
Code Block | ||
---|---|---|
| ||
<p class="total">{txt key=TEXT_TOTAL}<span id="grand-total-value" class="float-right">{$total}</span></p> |
4.1.5.: /templates/xt_grid/xtCore/pages/checkout/subpage_payment.html
CORE-804: Wenn ein Kunde im Checkout eine neue Adresse hinterlegt wird diese nun automatisch als Zahlungsadresse genutzt. Ein erneutes auswählen ist dadurch nicht länger notwendig und es sollte hier zu weniger Problemen kommen.
Suchen Sie die Zeile:
Code Block | ||
---|---|---|
| ||
{form type=select name=adID value=$address_data params='onchange="this.form.submit();"'} |
Ersetzen Sie die Zeile mit folgenden Code:
Code Block | ||
---|---|---|
| ||
{form type=select name=adID value=$address_data default=$smarty.session.customer->customer_payment_address.address_book_id params='onchange="this.form.submit();"'} |
4.1.6.: /templates/xt_grid/xtCore/pages/checkout/subpage_shipping.html
CORE-804: Wenn ein Kunde im Checkout eine neue Adresse hinterlegt wird diese nun automatisch als Lieferadresse genutzt. Ein erneutes auswählen ist dadurch nicht länger notwendig und es sollte hier zu weniger Problemen kommen.
Suchen Sie die Zeile:
Code Block | ||
---|---|---|
| ||
{form type=select name=adID value=$address_data params='onchange="this.form.submit();"'} |
Ersetzen Sie die Zeile mit folgenden Code:
Code Block | ||
---|---|---|
| ||
{form type=select name=adID value=$address_data default=$smarty.session.customer->customer_shipping_address.address_book_id params='onchange="this.form.submit();"'} |
4.1.7.: /templates/xt_grid/xtCore/pages/product/product.html
Einfügen eines weiteren Hookpunkt, unter anderem erforderlich für das xt_bundle-Plugin
Suchen Sie die Zeile:
Code Block | ||
---|---|---|
| ||
{hook key=product_info_tpl_before_cart} |
Fügen Sie danach folgenden Code ein:
Code Block | ||
---|---|---|
| ||
{hook key=product_info_bundle} |
4.1.8.: /templates/xt_grid/xtCore/pages/cart.html
Einfügen eines weiteren Hookpunkt, unter anderem erforderlich für das xt_bundle-Plugin
Suchen Sie die Zeile:
Code Block | ||
---|---|---|
| ||
<p class="product-name"><a href="{$data.products_link}">{$data.products_name}</a></p> |
Fügen Sie danach folgenden Code ein:
Code Block | ||
---|---|---|
| ||
{hook key=cart_bundle} |
4.1. xt_mobile:
4.1.1.: /templates/xt_mobile/xtCore/pages/login.html
THRDLS-258 Ein Problem bei der Auswahl des Bundesstaats im Mobieltemplate wird durch diese Änderung behoben.
Suchen Sie die Zeile:
Code Block | ||
---|---|---|
| ||
$('#federals .ui-select').each(function(){ $(this).hide(); |
Fügen Sie danach folgenden Code ein:
Code Block | ||
---|---|---|
| ||
$(this).find('select').attr('disabled', 'disabled'); |
Suchen Sie die Zeile:
Code Block | ||
---|---|---|
| ||
$('#federals').show(); $('.'+selected_country).parents('.ui-select').show(); |
Fügen Sie danach folgenden Code ein:
Code Block | ||
---|---|---|
| ||
$('.'+selected_country).parents('.ui-select').find('select').removeAttr('disabled'); |
CORE-787: Diese Anpassung bewirkt, dass nach einem Reload der Seite (z.B. weil das Validieren eines Feld gescheitert ist) der zuvor ausgewählte Wert erhalten bleibt:
Suchen Sie die Zeile:
Code Block | ||
---|---|---|
| ||
{form type=select class=$federal_states.id name=default_address[customers_federal_state_code] value=$federal_states.federal_states} |
Ersetzen Sie die Zeile mit folgenden Code:
Code Block | ||
---|---|---|
| ||
{form type=select class=$federal_states.id name=default_address[customers_federal_state_code] value=$federal_states.federal_states default=$default_address.customers_federal_state_code} |
CORE-848: Es ist nun möglich die Vorwahlen der verschiedenen Länder durch den Kunden beim Registrieren auswählen zu lassen. Diese Anpassung blendet die Felder entsprechend ein:
Suchen Sie die Zeile:
Code Block | ||
---|---|---|
| ||
<td>{form type=tel name=default_address[customers_phone] value=$default_address.customers_phone autocomplete="off"}</td> |
Ersetzen Sie die Zeile mit folgenden Code:
Code Block | ||
---|---|---|
| ||
<td> {if _STORE_SHOW_PHONE_PREFIX eq 'true'} {if isset($default_address.customers_phone_prefix)} {form params='id="default_address_customers_phone_prefix"' type=select name=default_address[customers_phone_prefix] value=$phone_prefix default=$default_address.customers_phone_prefix} {else} {form params='id="default_address_customers_phone_prefix"' type=select name=default_address[customers_phone_prefix] value=$phone_prefix default=$smarty.const._STORE_PHONE_PREFIX} {/if} {/if} {form type=tel name=default_address[customers_phone] value=$default_address.customers_phone autocomplete="off"} </td> |
Suchen Sie die Zeile:
Code Block | ||
---|---|---|
| ||
<td>{form type=tel name=default_address[customers_mobile_phone] value=$default_address.customers_MOBILE_phone autocomplete="off"}</td> |
Ersetzen Sie die Zeile mit folgenden Code:
Code Block | ||
---|---|---|
| ||
<td> {if _STORE_SHOW_PHONE_PREFIX eq 'true'} {if isset($default_address.customers_mobile_phone_prefix)} {form params='id="default_address_customers_mobile_phone_prefix"' type=select name=default_address[customers_mobile_phone_prefix] value=$phone_prefix default=$default_address.customers_mobile_phone_prefix} {else} {form params='id="default_address_customers_mobile_phone_prefix"' type=select name=default_address[customers_mobile_phone_prefix] value=$phone_prefix default=$smarty.const._STORE_PHONE_PREFIX} {/if} {/if} {form type=tel name=default_address[customers_mobile_phone] value=$default_address.customers_MOBILE_phone autocomplete="off"} </td> |
Suchen Sie die Zeile:
Code Block | ||
---|---|---|
| ||
<td>{form type=tel name=default_address[customers_fax] value=$default_address.customers_fax autocomplete="off"}</td> |
Ersetzen Sie die Zeile mit folgenden Code:
Code Block | ||
---|---|---|
| ||
<td> {if _STORE_SHOW_PHONE_PREFIX eq 'true'} <label for="default_address_customers_fax_prefix">{txt key=TEXT_FAX_PREFIX}</label> {if isset($default_address.customers_fax_prefix)} {form params='id="default_address_customers_fax_prefix"' type=select name=default_address[customers_fax_prefix] value=$phone_prefix default=$default_address.customers_fax_prefix} {else} {form params='id="default_address_customers_fax_prefix"' type=select name=default_address[customers_fax_prefix] value=$phone_prefix default=$smarty.const._STORE_PHONE_PREFIX} {/if} {/if} {form type=tel name=default_address[customers_fax] value=$default_address.customers_fax autocomplete="off"} </td> |
4.1.2.: /templates/xt_mobile/xtCore/pages/edit_address.html
THRDLS-258 Ein Problem bei der Auswahl des Bundesstaats im Mobieltemplate wird durch diese Änderung behoben.
Suchen Sie die Zeile:
Code Block | ||
---|---|---|
| ||
$('#federals .ui-select').each(function(){ $(this).hide(); |
Fügen Sie danach folgenden Code ein:
Code Block | ||
---|---|---|
| ||
$(this).find('select').attr('disabled', 'disabled'); |
Suchen Sie die Zeile:
Code Block | ||
---|---|---|
| ||
$('.'+selected_country).parents('.ui-select').show(); $('#federal_states_label').show(); |
Fügen Sie danach folgenden Code ein:
Code Block | ||
---|---|---|
| ||
$('.'+selected_country).parents('.ui-select').find('select').removeAttr('disabled'); |
4.1.3.: /templates/xt_mobile/xtCore/pages/default.html
CORE-708: Durch die Überarbeitung von xt_startpage_products können Sie die Sortierung nun über das Backend des Shops konfigurieren.
Suchen Sie die Zeile:
Code Block | ||
---|---|---|
| ||
{page name=xt_startpage_products type=user order_by='p.products_startpage_sort' tpl_type='product_listing'} |
Ersetzen Sie die Zeile mit folgenden Code:
Code Block | ||
---|---|---|
| ||
{page name=xt_startpage_products type=user tpl_type='product_listing'} |
4.1.4.: /templates/xt_mobile/xtCore/pages/categorie_listing/categorie_listing.html
Suchen und entfernen Sie die Zeile:
Code Block | ||
---|---|---|
| ||
<span>{if $module_data.categories_image}{img img=$module_data.categories_image type=m_category_mthumb class="productImageBorder" alt=$module_date.categories_name|escape:"html"}{/if}</span> |
4.1.5.: /templates/xt_mobile/xtCore/pages/checkout/subpage_shipping.html
CORE-804: Wenn ein Kunde im Checkout eine neue Adresse hinterlegt wird diese nun automatisch als Zahlungsadresse genutzt. Ein erneutes auswählen ist dadurch nicht länger notwendig und es sollte hier zu weniger Problemen kommen.
Suchen Sie die Zeile:
Code Block | ||
---|---|---|
| ||
{form type=select name=adID value=$address_data params='onChange="this.form.submit();"'} |
Ersetzen Sie die Zeile mit folgenden Code:
Code Block | ||
---|---|---|
| ||
{form type=select name=adID value=$address_data default=$smarty.session.customer->customer_shipping_address.address_book_id params='onchange="this.form.submit();"'} |
4.1.6.: /templates/xt_mobile/xtCore/pages/checkout/subpage_payment.html
Suchen Sie die Zeile:
Code Block | ||
---|---|---|
| ||
{form type=select name=adID value=$address_data params='onChange="this.form.submit();"'} |
Ersetzen Sie die Zeile mit folgenden Code:
Code Block | ||
---|---|---|
| ||
{form type=select name=adID value=$address_data default=$smarty.session.customer->customer_payment_address.address_book_id params='onchange="this.form.submit();"'} |
4.1.7.: /templates/xt_mobile/xtCore/pages/checkout/subpage_confirmation.html
Diese Anpassung erlaubt uns mit kommenden Plugins im Checkout flexibler zu arbeiten. Unter anderem die Anbindung an Elefunds benötigt diese Anpassung zwingend.
Suchen Sie die Zeile:
Code Block | ||
---|---|---|
| ||
{form type=form name=process action='checkout' method=post conn=SSL} |
Ersetzen Sie die Zeile mit folgenden Code:
Code Block | ||
---|---|---|
| ||
{form type=form name=process action='checkout' method=post conn=SSL id='checkout-form'} |
Suchen Sie die Zeile:
Code Block | ||
---|---|---|
| ||
<tr><td><strong>{txt key=TEXT_TOTAL}:</td><td><strong>{$total}</strong></td></tr> |
Ersetzen Sie die Zeile mit folgenden Code:
Code Block | ||
---|---|---|
| ||
<tr><td><strong>{txt key=TEXT_TOTAL}:</td><td><strong id="grand-total-value">{$total}</strong></td></tr> |
5.0. E-Mail-Vorlage-Update:
Gehen Sie in den E-Mail Manager und nehmen an der send_order Vorlage für jede Sprache folgende Änderungen vor:
Suchen Sie die Zeile:
Code Block | ||
---|---|---|
| ||
{$order_data.date_purchased} </td> </tr> <tr> <td colspan="6"><br /></td> </tr> <tr> <td colspan="3" align="left"> |
Fügen Sie danach folgenden Code ein:
Code Block | ||
---|---|---|
| ||
<h2 style="font-size:12px;">{if $order_data.customers_cid}{txt key=TEXT_CUSTOMER_ID}</h2> {$order_data.customers_cid}{/if} </td> <td colspan="3" align="left"> <h2 style="font-size:12px;">{txt key=TEXT_EMAIL}</h2> {$order_data.customers_email_address} </td> </tr> <tr> <td colspan="6"><br /></td> </tr> <tr> <td colspan="3" align="left"> |
Suchen Sie die Zeile:
Code Block | ||
---|---|---|
| ||
{$order_data.payment_name} </td> </tr> <tr> <td colspan="6"><br /></td> </tr> |
Fügen Sie danach folgenden Code ein:
Code Block | ||
---|---|---|
| ||
{if $shipping_info_html} <tr> <td colspan="6" align="left"> <h2 style="font-size:12px;">{txt key=TEXT_SHIPPING_INFOS}</h2> {$shipping_info_html} </td> </tr> <tr> <td colspan="6"><br /></td> </tr> {/if} |
6. Plugin Updates
Plugin-Updates sind bereits durch den xtWizard durchgeführt worden. D.h. Sie müssen nun noch die neuen Versionen Ihrer "nicht xt:Commerce" Plugins einspielen.
...
- Machen Sie einen Checkout mit jeder Zahlungsweise und prüfen Sie die Daten
- Öffnen Sie verschiedene Kategorien, Produkte und Inhalts-Seiten und prüfen Sie die Darstellung im FE des Shops
- Bearbeiten Sie Produkte und Kategorien im BE des Shops
- Führen Sie die Exporte aus und prüfen Sie ob hier alles korrekt ist.
- Testen Sie Funktionalitäten von Plugins die für Sie entwickelt wurden bzw. welche Sie zugekauft haben.
usw.
Sollten Sie beim Update Probleme haben, prüfen Sie bitte den Troubleshooting FAQ zum Update.