Der Bereich Shopware Labs ist die Plattform für alle Entwickler. Hier findet man technische Dokumentationen und zahlreiche Tipps und Tricks rund um das Thema Programmieren. In dieser Rubrik stellen außerdem die Entwickler der shopware AG neue und experimentelle Lösungsansätze vor. Neue Funktionen, die in dieser Rubrik bereitgestellt werden, sind teilweise auch für zukünftige Releases geplant. Die Funktionen können dann ohne Programmierkenntnisse zukünftig direkt im Shopware Backend konfiguriert werden oder werden über Plugins bereitgestellt. Informationen über neue, geplante Funktionen finden Sie in unserer Roadmap.
Bitte beachten Sie, dass die hier bereitgestellten Lösungsansätze nicht offiziell supportet werden und nur eingebaut werden sollten, sofern Sie über das entsprechende, technische Wissen verfügen.
jQuery für Shopware 3.0.5
- shopware AG
- 26.03.2010
- 1
-
- Template, jQuery, Javascript, Mootools
- Labs/ Alte Erweiterungen/ Template
- Kein Support
Hinweis: - Experimentelle jQuery-Unterstützung Diese Anpassung / Umstellung sollte nur durch versierte Benutzer oder Entwickler vorgenommen werden.
Inhaltsverzeichnis
- 1 Changelog
- 1.1 Version 1.5
- 1.2 Version 1.4
- 2 Version / Copyright
- 3 Allgemeines
- 4 Wie installiere ich dieses Paket?
- 5 Welche Dateien sind neu?
- 6 Welche Dateien werden ersetzt/geändert?
- 7 Welche Dateien/Ordner kann ich nach der Installation löschen?
- 8 Kann ich jQuery 1.4.2 von Google hosten lassen?
- 9 Kann ich Einstellungen/Parameter übergeben?
- 9.1 Livesuche
- 9.2 ZoomPlus
- 9.3 Vergleiche
- 9.4 Lightbox
- 10 jQuery mit anderen Javascript Frameworks nutzen
- 11 Einbindung in ein Custom Template
- 11.1 index.tpl
- 11.2 index_overlay_comparisons.tpl
- 11.3 index_top_comparisons.tpl
- 11.4 article_relatedarticles_box.tpl
- 11.5 changeDetails_bundle.tpl
- 11.6 logics.tpl
- 11.7 article_notification.tpl
- 11.8 article_box_4col.tpl
- 11.9 article_details_middle.tpl
- 11.10 details.tpl
- 11.11 listing.tpl
- 11.12 category_right_charts.tpl
- 11.13 "media"-Ordner
- 11.13.1 "js"-Ordner
- 11.13.2 "img"-Ordner
- 11.13.3 basic.css
- 12 Schlusswort
Changelog
Version 1.5
Behebt einen Bug in der Bundlefunktion "changeDetails"
Version 1.4
Dieses Release ist ein Minor Bugfix Release, welches wir durch Anregungen unser Kunden releasen. Hierbei wurden alle Warnung, welche im Internet Explorer 6 auftauchen gefixt.
Version / Copyright
Version: 1.4
Copyright (c) 2010 Shopware AG
Allgemeines
Mit diesem Paket sind Sie in der Lage jQuery als Javascript Framework zu verwenden. Es wurden alle Javascript Komponenten vom Shopware 3.0.5 Template in jQuery übersetzt.
Für dieses Paket wurde jQuery 1.4.2 verwendet.
Folgende Features werden in dieser Version geboten:
- Livesuche
- Topseller Accordion
- Vergleiche
- Bundlefunktion
- Konfigurator
- Liveshopping
- Sprachenwechsel
- Tabs auf der Artikelseite
- ZoomPlus basiert auf jQZoom Evolution 1.01
- Lightbox basiert auf FancyBox 1.3.1
Wie installiere ich dieses Paket?
Bevor Sie dieses Paket benutzen sollten Sie ein Backup Ihres aktuellen Templates machen. Bitte beachten Sie dass dieses Paket nur mit dem Standardtemplate 0 von Shopware 3.0.5 zusammenarbeitet. Falls Sie ein Custom Template verwenden, lesen Sie bitte im Abschnitt "Einbindung in ein Custom Template" weiter.
1. Stellen Sie eine Verbindung zu Ihren FTP-Server her
2. Wechseln Sie in Ihre Shopware Installation und gehen hier in den Ordner "templates"
3. Laden Sie den neben dieser Installationsanleitungen enthaltenden Ordner "0" hoch
4. Bitte bestätigen Sie das Überschreiben der vorhandenen Dateien
5. Fertig
Welche Dateien sind neu?
- /de/media/js/jquery-1.4.min.js
- /de/media/js/jquery.shopware.js
- /de/media/js/jquery.easing-1.3.pack.js
- /de/media/img/default/fancybox/blank.gif
- /de/media/img/default/fancybox/fancy_close.png
- /de/media/img/default/fancybox/fancy_loading.png
- /de/media/img/default/fancybox/fancy_nav_left.png
- /de/media/img/default/fancybox/fancy_nav_right.png
- /de/media/img/default/fancybox/fancy_shadow_e.png
- /de/media/img/default/fancybox/fancy_shadow_n.png
- /de/media/img/default/fancybox/fancy_shadow_ne.png
- /de/media/img/default/fancybox/fancy_shadow_nw.png
- /de/media/img/default/fancybox/fancy_shadow_s.png
- /de/media/img/default/fancybox/fancy_shadow_se.png
- /de/media/img/default/fancybox/fancy_shadow_sw.png
- /de/media/img/default/fancybox/fancy_shadow_w.png
- /de/media/img/default/fancybox/fancy_title_left.png
- /de/media/img/default/fancybox/fancy_title_main.png
- /de/media/img/default/fancybox/fancy_title_over.png
- /de/media/img/default/fancybox/fancy_title_right.png
- /de/media/img/default/fancybox/fancybox.png
- /de/media/img/default/fancybox/fancybox-x.png
- /de/media/img/default/fancybox/fancybox-y.png
Welche Dateien werden ersetzt/geändert?
- /de/html/ajax/index_overlay_comparisons.tpl
- /de/html/ajax/index_top_comarisons.tpl
- /de/html/articles/bundles/article_bundle_box.tpl
- /de/html/articles/bundles/article_relatedarticles_box.tpl
- /de/html/articles/bundles/changeDetails_bundle.tpl
- /de/html/articles/liveshoppinglogics.tpl
- /de/html/articles/notification/article_notification.tpl
- /de/html/articles/article_box_4col.tpl
- /de/html/articles/article_details_middle.tpl
- /de/html/blog/details.tpl
- /de/html/blog/listing.tpl
- /de/html/category_right_charts.tpl
- /de/index/index.tpl
- /de/media/css/basic.css
Welche Dateien/Ordner kann ich nach der Installation löschen?
- /de/html/articles/number_format.func.tpl
- /de/html/category/category_right_charts.js
- /de/media/js/core.js
- /de/media/img/lightbox
Kann ich jQuery 1.4.2 von Google hosten lassen?
Ja, das können Sie machen. Dazu gehen Sie in das Verzeichnis '/templates/0/html/index/index.tpl' und ändern folgende Zeilen:
{if !$sConfig.sDONTGZIP} {literal} <script type="text/javascript" src="../../media/js/get.php?file=jquery-1.4.min.js"></script> <script type="text/javascript" src="../../media/js/get.php?file=jquery.shopware.js"></script> {/literal} {else} {literal} <script type="text/javascript" src="../../media/js/jquery-1.4.min.js"></script> <script type="text/javascript" src="../../media/js/jquery.shopware.js"></script> {/literal} {/if}
in:
{if !$sConfig.sDONTGZIP} {literal} <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script> <script type="text/javascript" src="../../media/js/get.php?file=jquery.shopware.js"></script> {/literal} {else} {literal} <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script> <script type="text/javascript" src="../../media/js/jquery.shopware.js"></script> {/literal} {/if}
Bitte besuchen Sie Googles "Developer's Guide - Google AJAX Libraries API - Google Code" für weitere Informationen unter folgender URL: http://code.google.com/intl/de/apis/ajaxlibs/documentation/
Kann ich Einstellungen/Parameter übergeben?
Ja, diese Möglichkeit besteht für einige unserer jQuery Plugins.
Livesuche
Die Livesuche kann ohne Parameter (Default) gestartet werden. Falls Sie Parameter angeben möchten z.B. um einen mehrsprachigen Shop zu betreiben, dann orientieren Sie sich bitte an folgendem Beispiel:
$('#searchfield').search({ showAllResults: string, //Default: Alle Ergebnisse anzeigen manufacturer: string, //Default: Hersteller categories: string, //Default: Kategorien minsearchlength: int, //Default: 3 container: selector //Default: #searchresults });
ZoomPlus
Der Zoomeffekt auf der Artikelseite kann auch an Ihre Anforderungen angepasst werden. Bitte orientieren Sie sich an folgendem Beispiel:
$('.MagicZoom').jqzoom({ zoomType: 'standard' zoomWith: 325, zoomHeight: 325, xOffset: 20, yOffset: 0, position: 'right', lens: true, imageOpacity: 0.2, title: true, showEffect: 'fadein', hideEffect: 'fadeout', fadeinSpeed: 'fast', fadeoutSpeed: 'fast', showPreload: true, preloadText: 'Lade Zoom...', preloadPosition: 'center' });
Weitere Informationen finden Sie auf der Plugin-Homepage: http://www.mind-projects.it/projects/jqzoom/index.php
Vergleiche
Sie haben mehrere Möglichkeiten Parameter a das Vergleiche-Plugin zu übergeben. Entweder überschreiben Sie die Standardeinstellungen über die "setup"-Funktion oder Sie setzen die einzelnen Optionen manuell im "options"-Objekt. Bitte beachten Sie hier dass sich die Syntax geändert hat.
$.compare.setup({ viewportAjax: '/shopware.php/sViewport,ajax/', //Request URL compareContainer: '#compare_bigbox', //Compare list container compareOverlay: '#compare_bigbox_overlays', //Compare overlay container resultsContainer: '#compareContainerResults', //Results container articleCountContainer: '#article_count', //Article count container ajaxContainer: '#compareContainerAjax', //Ajax container compareHighlight: '#compareHighlight', //Compare highlight highlightSpeed: 1750, //Highlight animation speed highlightColor: '#dd4800', //Highlight color dataType: 'json', //Ajax request data type requestType: 'post', //Ajax request method animationSpeed: 800, //FadeIn and fadeOut animation speed topLink: '#top', //Top Anchor maxReached: "Sie können maximal 5 Artikel vergleichen!" //reached maximal articles string });
oder
//Ändern des Ajax Viewport $.compare.options.viewportAjax = '/index.php/sViewport,ajax';
Lightbox
Das Lightbox-Plugin kann natürlich auch an Ihre Bedürfnisse angepasst werden. Bitte orientieren Sie sich an folgendem Beispiel:
$('a[rel=lightbox[photos]]').fancybox({ padding: 10, margin: 20, opacity: false, modal: false, cyclic: false, scrolling: 'auto', width: 560, height: 340, autoScale: true, autoDimensions: true, centerOnScroll: false, ajax: {}, swf: {wmode: 'transparent'}, hideOnOverlayClick: true, hideOnContentClick: false, overlayShow: true, overlayOpacity: 0.3, overlayColor: '#666', titleShow: true, titlePosition: 'outside', titleFormat: null, transitionIn: 'fade', transitionOut: 'fade', speedIn: 300, speedOut: 300, changeSpeed: 300, changeFade: 'fast', easingIn: 'swing', easingOut: 'swing', showCloseButton: ture, showNavArrows: true, onStart: null, onCancel: null, onComplete: null, onCleanup: null, onClosed: null });
Für weitere Informationen besuchen Sie bitte die Plugin-Homepage: http://fancybox.net/api
jQuery mit anderen Javascript Frameworks nutzen
Falls Sie jQuery in Verbindung mit anderen Javascript Frameworks nutzen möchten, dann haben Sie hier auch die Chance dazu. Dazu empfehlen wir Ihnen folgende Methode:
<script type="text/javascript"> $.noConflict(); //Code anderer Frameworks, welche den $ Namespace benutzen </script>
Einbindung in ein Custom Template
Unsere jQuery Plugin Sammlung kann auch in ein Custom Template eingebaut werden. Um dieses Ziel zu erreichen finden Sie hier eine Auflistung aller geänderten Zeilen, woran Sie sich bei Ihrer Template-Erstellung richten können.
index.tpl
Die "index.tpl"-Datei finden Sie in Ihrer Shopware 3.0.5 Installation unter 'templates/0/de/html/index'. Hier müssen mehrere Bereiche ersetzt werden. Die angegebenen Zeilenangaben basieren auf dem Standardtemplate.
Zeile 34-54
<script type="text/javascript"> //<![CDATA[ var sSearchShowAllResults = "{* sSnippet: Show all results *}{$sConfig.sSnippets.sSearchshowallresults}"; var sSearchManufacturer = '{* sSnippet: Manufacturer: *}{$sConfig.sSnippets.sSearchmanufacturer}'; var sSearchCategories = "{* sSnippet: Categories: *}{$sConfig.sSnippets.sSearchcategories}"; var sViewportAjax = "{if $_SERVER.SERVER_PORT == 80}http{else}https{/if}://{$sConfig.sBASEPATH}/{$sConfig.sBASEFILE}/sViewport,ajax/"; var sCompareMaxReached = "{* sSnippet: you can compare up to 5 items in one step! *}{$sConfig.sSnippets.sIndexcompareupto5articles}"; var basepath = "{if $_SERVER.SERVER_PORT == 80}http{else}https{/if}://{$sConfig.sBASEPATH}"; var minsearchlenght = {if $sConfig.sMINSEARCHLENGHT}{$sConfig.sMINSEARCHLENGHT}{else}3{/if}; var sServerTime = {$smarty.now}; //]]> </script> {if !$sConfig.sDONTGZIP} {literal} <script type="text/javascript" src="../../media/js/get.php?file=core.js"></script> {/literal} {else} {literal} <script type="text/javascript" src="../../media/js/core.js"></script> {/literal} {/if}
in folgendes ändern:
{if !$sConfig.sDONTGZIP} {literal} <script type="text/javascript" src="../../media/js/get.php?file=jquery-1.4.min.js"></script> <script type="text/javascript" src="../../media/js/get.php?file=jquery.shopware.js"></script> {/literal} {else} {literal} <script type="text/javascript" src="../../media/js/jquery-1.4.min.js"></script> <script type="text/javascript" src="../../media/js/jquery.shopware.js"></script> {/literal} {/if} <script type="text/javascript"> {literal} $(document).ready(function() { //Servertime $.server.init({/literal}{$smarty.now}{literal}); //Suche $('#searchfield').search(); //Lightbox $('a[rel=lightbox[photos]]').fancybox(); //Artikelbilderzoom $('#zoom1').jqzoom({ zoomWidth: 325, zoomHeight: 325, xOffset: 20, position: 'right', title: true, showEffect: 'fadein', hideEffect: 'fadeout', fadeinSpeed: 'fast', fadeoutSpeed: 'fast', preloadText: 'Lade Zoom...' }); //Funktioniert nur bei ZoomPlus $('.thumb_box a').click(function() { var thumb = $(this).attr('rev'); var zoom = $(this).attr('href'); var container = $('#zoom1'); var img = container.children('img'); container.attr('href', zoom); img.attr('src', thumb); return false; }); //Topseller if($('#topseller')) $.accordion(); }) {/literal} </script>
Zeile 160:
<select name="sLanguage" onchange="$('sLanguageForm').submit();" class="lang_select">
in folgendes ändern:
<select name="sLanguage" onchange="$('#sLanguageForm').submit();" class="lang_select">
Zeile 245:
<input type="submit" value="{* sSnippet: searchbutton *}{$sConfig.sSnippets.sIndexsearchbutton}" id="submit_search" onclick="hideSearchAfterClick();"/>
in folgendes ändern:
<input type="submit" value="{* sSnippet: searchbutton *}{$sConfig.sSnippets.sIndexsearchbutton}" id="submit_search" onclick="$.hideSearchAfterClick();"/>
Zeile 517:
<div id="compare_bigbox_overlays" style="position:fixed;top:0;left:0;display:none;z-index:8000;background-color:black;width:100%;height:100%;opacity:0;" onclick="hideCompareList()"></div>
in folgendes ändern:
<div id="compare_bigbox_overlays" style="position:fixed;top:0;left:0;display:none;z-index:8000;background-color:black;width:100%;height:100%;opacity:0;" onclick="$.compare.hideCompareList()"></div>
index_overlay_comparisons.tpl
Diese Datei finden Sie unter "/templates/0/de/html/ajax".
Zeile 2:
<a class="bt_compare_del" style="cursor: pointer;" onclick="hideCompareList()">schließen</a>
in folgendes ändern:
<a class="bt_compare_del" style="cursor: pointer;" onclick="$.compare.hideCompareList()">schließen</a>
index_top_comparisons.tpl
Zeile 1:
<div id="compareContainer" onmouseover="showCompare();" onmouseout="hideCompare();" {if $sComparisons|@count == 0}style="display:none;"{/if} style="z-index:1000;">
in folgendes ändern:
<div id="compareContainer" onmouseover="$.compare.showCompare();" onmouseout="$.compare.hideCompare();" {if $sComparisons|@count == 0}style="display:none;"{/if} style="z-index:1000;">
Zeile 8:
<div id="compareContainerResults" style="display:none; z-index:7000;" onmouseover="showCompare()" onmouseout="hideCompare()">
in folgendes ändern:
<div id="compareContainerResults" style="display:none; z-index:7000;" onmouseover="$.compare.showCompare()" onmouseout="$.compare.hideCompare()">
Zeile 12:
<div style="float:left;width:190px;">{$compare.articlename}</div> <a onclick="deleteCompare('{$compare.articleID}')" class="del_comp"></a><div class="fixfloat"></div>
in folgendes ändern:
<div style="float:left;width:190px;">{$compare.articlename}</div> <a onclick="$.compare.deleteCompare('{$compare.articleID}')" class="del_comp"></a><div class="fixfloat"></div>
Zeile 15-17:
<li><a onclick="startComparison()" style="cursor:pointer;" class="bt_compare">{* sSnippet: start compare *}{$sConfig.sSnippets.sAjaxstartcompare}</a></li> <li><a onclick="deleteComparisons()" style="cursor:pointer" class="bt_compare_del">{* sSnippet: delete compare *}{$sConfig.sSnippets.sAjaxdeletecompare}</a></li>
in folgendes ändern:
<li><a onclick="$.compare.startComparison()" style="cursor:pointer;" class="bt_compare">{* sSnippet: start compare *}{$sConfig.sSnippets.sAjaxstartcompare}</a></li> <li><a onclick="$.compare.deleteComparisons()" style="cursor:pointer" class="bt_compare_del">{* sSnippet: delete compare *}{$sConfig.sSnippets.sAjaxdeletecompare}</a></li>
article_relatedarticles_box.tpl
Diese Datei finden Sie unter "/templates/0/de/html/articles/bundles/"
Zeile 80-180:
<script type="text/javascript"> /** * * @access public * @return void **/ function refreshRelatedArticle(){ var relatedOrdernumbers = ""; var totalPrice = $('selected_articel_price').value; $(document.body).getElements('input[class=relatedOrdernumber]').each(function(item, index, allItems){ var tmpOrdernumber = item.value; var tmpContainerName = tmpOrdernumber+'_related_container'; var tmpPlusiconName = tmpOrdernumber+'_related_plusicon'; var tmpPreisName = tmpOrdernumber+'_price'; var checkbox = $(tmpOrdernumber+'_related_checkbox'); if(true == checkbox.checked) { //Container und Pluszeichen einblenden $(tmpContainerName).setStyle('display', 'block'); $(tmpPlusiconName).setStyle('display', 'block'); //Bestellnummer hinzufügen if("" == relatedOrdernumbers) relatedOrdernumbers = tmpOrdernumber; else relatedOrdernumbers+= ";"+tmpOrdernumber; //Preis addieren var tmpPrice = $(tmpPreisName).value; if(tmpPrice) totalPrice = eval(totalPrice)+eval(tmpPrice); }else{ //Container und Pluszeichen ausblenden $(tmpContainerName).setStyle('display', 'none'); $(tmpPlusiconName).setStyle('display', 'none'); } }); $('sRelatedOrdernumbers').value = relatedOrdernumbers; $('price_relatedbundle').innerHTML = number_format(totalPrice, 2, ',', '.'); } /** * * @access public * @return void **/ function changeRelatedArticleState(ordernumber, active){ var tmpContainerName = ordernumber+'_related_container'; if(false == active) { //Container ausblenden $(tmpContainerName).setStyle('display', 'none'); }else{ //Container einblenden $(tmpContainerName).setStyle('display', 'block'); } } //Werte setzen refreshRelatedArticle(); function number_format (number, decimals, dec_point, thousands_sep) { var n = number, prec = decimals; var toFixedFix = function (n,prec) { var k = Math.pow(10,prec); return (Math.round(n*k)/k).toString(); }; n = !isFinite(+n) ? 0 : +n; prec = !isFinite(+prec) ? 0 : Math.abs(prec); var sep = (typeof thousands_sep === 'undefined') ? ',' : thousands_sep; var dec = (typeof dec_point === 'undefined') ? '.' : dec_point; var s = (prec > 0) ? toFixedFix(n, prec) : toFixedFix(Math.round(n), prec); //fix for IE parseFloat(0.55).toFixed(0) = 0; var abs = toFixedFix(Math.abs(n), prec); var _, i; if (abs >= 1000) { _ = abs.split(/\D/); i = _[0].length % 3 || 3; _[0] = s.slice(0,i + (n < 0)) + _[0].slice(i).replace(/(\d{3})/g, sep+'$1'); s = _.join(dec); } else { s = s.replace('.', dec); } var decPos = s.indexOf(dec); if (prec >= 1 && decPos !== -1 && (s.length-decPos-1) < prec) { s += new Array(prec-(s.length-decPos-1)).join(0)+'0'; } else if (prec >= 1 && decPos === -1) { s += dec+new Array(prec).join(0)+'0'; } return s; } </script>
in folgendes ändern:
<script type="text/javascript"> //Werte setzen $.refreshRelatedArticle(); //befindet sich in jquery.shopware.js </script>
changeDetails_bundle.tpl
Diese Datei finden Sie unter "/templates/0/de/html/articles/bundles/"
Zeile 1-230:
/* +++ RELATED BUNDLELOOK - START */ {if $sArticle.sRelatedArticles && $sArticle.crossbundlelook} {literal} //Box freischalten try { $('related_box').setStyle('display', 'block'); }catch(e){} //Bestellnummer und Preis hinterlegen try { $('related_main_ordernumber').value = ordernumber; $('selected_articel_price').value = $('price_'+ordernumber).value; refreshRelatedArticle(); }catch(e){} try{ var tmpBundleImg = $('related_main_image'); var tmpSourceImg = $('img_1_'+ordernumber); if(tmpSourceImg != null) { tmpBundleImg.setHTML(tmpSourceImg.innerHTML); //alert(tmpSourceImg.innerHTML); } }catch(e){ } {/literal} {/if} {literal} /* +++ RELATED BUNDLELOOK - END */ /* +++ BUNDLE - START */ {/literal} {if $sArticle.sBundles} {literal} //Variantenbestellnummer als aktiven Artikel //hinterlegen try { $(document.body).getElements('input[name=sAddBundle]').each(function(item, index, allItems){ item.value = ordernumber; }); }catch(e){} //BundleBox ausblenden try { $('bundle_box').setStyle('display','none'); }catch(e){} {/literal} //Bundle Display Flag //Wird auf true gesetzt, wenn mindestens //ein Bundleartikel aktiv ist var showBundleBox = false; {foreach from=$sArticle.sBundles item=bundle} {if $sArticle.sVariants && $sConfig.sSHOWBUNDLEMAINARTICLE} //Bild des Hauptartikels bei Varianten austauschen {literal} try{ var tmpBundleImg = $('bundleImg_{/literal}{$bundle.id}{literal}'); var tmpSourceImg = $('img_1_'+ordernumber); if(tmpBundleImg != null) { if(tmpSourceImg != null) { tmpBundleImg.setHTML(tmpSourceImg.innerHTML); } } }catch(e){ } {/literal} {/if} //Preise und Rabatte {literal} //GESAMTPREIS BERECHNEN try{ //Ausgabe Span var price_rab_span = $('price_rabAbs_{/literal}{$bundle.id}{literal}'); //Artikelpreis var articlePrice = $('price_'+ordernumber).value; //Bundleartikelgesamtpreis var bundleArticlesTotalPrice = {/literal}{$bundle.sBundleArticlesTotalPrice.display}{literal} }catch(e){} if(price_rab_span!=null && articlePrice!=null && bundleArticlesTotalPrice!=null) { var rabTotal = eval(articlePrice)+eval(bundleArticlesTotalPrice); //var total = "x"; price_rab_span.innerHTML = number_format(rabTotal, 2, ",", "."); } //BUNDLEPREIS ERMITTELN try{ //Ausgabe Span var price_bundle_span = $('price_bundle_{/literal}{$bundle.id}{literal}'); }catch(e){} if(price_bundle_span!=null) { {/literal} //Absoluter Rabatt {if "abs"==$bundle.rab_type} var bundle_price = {$bundle.sBundlePrices.display}; price_bundle_span.innerHTML = number_format(bundle_price, 2, ",", "."); {else} //Prozentualen Rabatt berechnen var percentage = {$bundle.sBundlePrices.percentage}; var tmpRabatt = eval(rabTotal)/100*eval(percentage); var bundle_price = eval(rabTotal)-eval(tmpRabatt); price_bundle_span.innerHTML = number_format(bundle_price, 2, ",", "."); {/if} {literal} } //Rabatt in Prozent try{ //Ausgabe Span var price_rabPro_span = $('price_rabPro_{/literal}{$bundle.id}{literal}'); var rabPro = 100-(eval(bundle_price)*100/eval(rabTotal)); }catch(e){} if(price_rabPro_span!=null && rabPro!=null) { price_rabPro_span.innerHTML = number_format(rabPro,2); } {/literal} //Überprüfung, ob eine Artikeleinschränkung vorliegt {if $bundle.sBundleStints} //Bundle Box zunächst ausblenden //im weiteren Verlauf wird Sie dann für //berechtigte Artikelnummern wieder freigeschaltet {literal} try { {/literal} var tmpBundlesetName = 'bundleset_{$bundle.id}'; $(tmpBundlesetName).setStyle('display','none'); {literal} }catch(e){} {/literal} //Bestellnummern durchlaufen, bei denen der Bundle //angezeigt werden soll {foreach from=$bundle.sBundleStints item=stints} var ordernumberToUpper = ordernumber.toUpperCase(); var stints = '{$stints}'; {literal} if(ordernumberToUpper == stints) { showBundleBox=true; //BundleBox anzeigen try { {/literal} var tmpBundlesetName = 'bundleset_{$bundle.id}'; $(tmpBundlesetName).setStyle('display','block'); {literal} }catch(e){} } {/literal} {/foreach} {else} {literal} try { $('bundle_box').setStyle('display','block'); }catch(e){} {/literal} {/if} {/foreach} {literal} //BundleBox anzeigen, wenn noch mindestens ein Bundleartikel //aktiv ist if(showBundleBox) { try { $('bundle_box').setStyle('display','block'); }catch(e){} } //Lagerbestandprüfung für Variantenartikel {/literal} {if $sArticle.sVariants} {if 1 == $sArticle.laststock} //Lagerbestand der Variante ermitteln {literal} try { var instock = $('instock_'+ordernumber).value; }catch(e){} if(instock > 0) { if(showBundleBox) { try { $('bundle_box').setStyle('display','block'); }catch(e){} } }else{ try { $('bundle_box').setStyle('display','none'); }catch(e){} } {/literal} {else} //BundleBox anzeigen, wenn noch mindestens ein Bundleartikel //aktiv ist {literal} if(showBundleBox) { try { $('bundle_box').setStyle('display','block'); }catch(e){} } {/literal} {/if} {/if} {literal} {/literal} {/if} /* +++ BUNDLE - END */
in folgendes ändern:
/** * Related Bundlelook * Start */ {if $sArticle.sRelatedArticles && $sArticle.crossbundlelook} {literal} //Box Freischalten try { $('#related_box').show(); } catch(e) {console.log('box konnte nicht freigeschaltet werden');} //Bestellnummer und Preis hinterlegen try { $('#related_main_ordernumber').val(ordernumber); $('selected_articel_price').val($('#price_'+ordernumber).val()); $.refreshRelatedArticle(); } catch(e) { } //Bilder hinterlegen try { var tmpBundleImg = $('#related_main_image'); var tmpSourceImg = $('#img_1_'+ordernumber); if(tmpSourceImg != null) { tmpBundleImg.html(tmpSourceImg.html()); console.log('tmpSourceImg: ' + tmpSourceImg.html()); } } catch(e) { } {/literal} {/if} {literal} /** * Related Bundlelook * End */ /** * Bundle * Start */ {/literal} {if $sArticle.sBundles} {literal} //Variantenbestellnummer als aktiven Artikel hinterlegen try { $('input[name=sAddBundle]').each(function(i, item) { $(item).val(ordernumber); }); } catch(e) { } //Bundlebox ausblenden try { $('#bundle_box').hide(); } catch(e) {} {/literal} /** * Bundle Display Flag * Wird auf true gesetzt, wenn mindestens * ein Bundleartikel aktiv ist */ var showBundleBox = false; {foreach from=$sArticle.sBundles item=bundle} {if $sArticle.sVariants && $sConfig.sSHOWBUNDLEMAINARTICLE} //Bild des Hauptartikels bei Varianten austauschen {literal} try { var tmpBundleImg = $('#bundleImg_{/literal}{$bundle.id}{literal}'); var tmpSourceImg = $('#img_1_'+ordernumber); if(tmpBundleImg != null) { if(tmpSourceImg != null) { tmpBundleImg.html(tmpSourceImg.html()); } } } catch(e) { } {/literal} {/if} /** * Preise und Rabatte */ {literal} //Gesamtpreis berechnen try { var price_rab_span = $('#price_rabAbs_{/literal}{$bundle.id}{literal}'); var articlePrice = $('#price_'+ordernumber).val(); var bundleArticlesTotalPrice = {/literal}{$bundle.sBundleArticlesTotalPrice.display}{literal} } catch(e) {} if(price_rab_span != null && articlePrice != null && bundleArticlesTotalPrice != null) { var rabTotal = eval(articlePrice) + eval(bundleArticlesTotalPrice); price_rab_span.html($.number_format(rabTotal, 2, ",", ".")); } //Bundlepreis ermitteln try { var price_bundle_span = $('#price_bundle_{/literal}{$bundle.id}{literal}'); } catch(e) {} if(price_bundle_span != null) { {/literal} //Absoluter Rabatt {if "abs"==$bundle.rab_type} var bundle_price = {$bundle.sBundlePrices.display}; price_bundle_span.html($.number_format(bundle_price, 2, ",", ".")); {else} //Prozentualen Rabatt berechnen var percentage = {$bundle.sBundlePrices.percentage}; var tmpRabatt = eval(rabTotal)/100*eval(percentage); var bundle_price = eval(rabTotal)-eval(tmpRabatt); price_bundle_span.html($.number_format(bundle_price, 2, ",", ".")); {/if} {literal} } //Rabatt in Prozent try { var price_rabPro_span = $('#price_rabPro_{/literal}{$bundle.id}{literal}'); var rabPro = 100-(eval(bundle_price)*100/eval(rabTotal)); } catch(e) {} if(price_rabPro_span != null && rabPro != null) { price_rabPro_span.html($.number_format(rabPro, 2)); } {/literal} //Überprüfung, obv eine Artikeleinschraenkung vorliegt {if $bundle.sBundleStints} /** * Bundlebox zunaechst ausblenden * im weiteren Verlauf wird Sie dann fuer * berechtigte Artikelnummern wieder freigeschaltet */ {literal} try { {/literal} var tmpBundlesetName = 'bundleset_{$bundle.id}'; $('#' + tmpBundlesetName).hide() {literal} }catch(e){} {/literal} //Bestellnummern durchlaufen, bei denen der Bundle //angezeigt werden soll {foreach from=$bundle.sBundleStints item=stints} var ordernumberToUpper = ordernumber.toUpperCase(); var stints = '{$stints}'; {literal} if(ordernumberToUpper == stints) { showBundleBox = true; //Bundlebox anzeigen try { {/literal} var tmpBundlesetName = '#bundleset_{$bundle.id}'; $(tmpBundlesetName).show(); {literal} }catch(e){} } {/literal} {/foreach} {/if} {/foreach} {literal} /** * Bundlebox anzeigen, wenn noch mindestens ein Bundleartikel * aktiv ist */ if(showBundleBox) { try { $('#bundle_box').show(); } catch(e) {} } /** * Lagerbestandpruefung fuer Variantenartikel */ {/literal} {if $sArticle.sVariants} {if 1 == $sArticle.laststock} //Lagerbestand der Variante ermitteln {literal} try { var instock = $('#instock_'+ordernumber.val()) } catch(e) {} if(instock > 0) { if(showBundleBox) { try { $('#bundle_box').show(); } catch(e) {} } } else { try { $('#bundle_box').hide(); } catch(e) {} } {/literal} {else} /** * Bundlebox anzeigen, wenn noch mindestens ein Bundleartikel * aktiv ist */ {literal} if(showBundleBox) { try { $('#bundle_box').show(); } catch(e) {} } {/literal} {/if} {/if} {literal} {/literal} {/if} /** * Bundle * End */
logics.tpl
Diese Datei finden Sie unter "/templates/0/de/html/articles/liveshopping/"
Zeile 9-190:
<script type="text/javascript"> {literal} //window.setTimeout(counterDelay,300); window.setInterval(function () { {/literal} var now = sServer.dateObj; var target = new Date(); target.setTime({$sLiveshoppingData.valid_to_ts} * 1000); //Debug //$('shopnav').innerHTML = now + ' --- '+ target; {literal} var d = '{/literal}{$uniquekey}{$sLiveshoppingData.ordernumber}{literal}_days'; var h = '{/literal}{$uniquekey}{$sLiveshoppingData.ordernumber}{literal}_hours'; var m = '{/literal}{$uniquekey}{$sLiveshoppingData.ordernumber}{literal}_min'; var s = '{/literal}{$uniquekey}{$sLiveshoppingData.ordernumber}{literal}_sec'; var dp = '{/literal}{$uniquekey}{$sLiveshoppingData.ordernumber}{literal}_days_prozess'; var hp = '{/literal}{$uniquekey}{$sLiveshoppingData.ordernumber}{literal}_hours_prozess'; var mp = '{/literal}{$uniquekey}{$sLiveshoppingData.ordernumber}{literal}_min_prozess'; var sp = '{/literal}{$uniquekey}{$sLiveshoppingData.ordernumber}{literal}_sec_prozess'; var spbar = '{/literal}{$uniquekey}{$sLiveshoppingData.ordernumber}{literal}_secbar_prozess'; var instockp = '{/literal}{$uniquekey}{$sLiveshoppingData.ordernumber}{literal}_instock_prozess'; var diff = timestampDiff(target.getTime(), now.getTime()); if(diff != false) { //Werte setzen $(document.body).getElements('span[class='+d+']').each(function(item, index, allItems){ item.innerHTML = diff.d; }); //Zweizeilig $(document.body).getElements('span[class='+d+'_doubledigit]').each(function(item, index, allItems){ tmp = diff.d; tmp = tmp.toString(); if(tmp.length==1){ item.innerHTML = '0'+tmp; }else{ item.innerHTML = tmp; } }); $(document.body).getElements('span[class='+h+']').each(function(item, index, allItems){ item.innerHTML = diff.h; }); //Zweizeilig $(document.body).getElements('span[class='+h+'_doubledigit]').each(function(item, index, allItems){ tmp = diff.h; tmp = tmp.toString(); if(tmp.length==1){ item.innerHTML = '0'+tmp; }else{ item.innerHTML = tmp; } }); $(document.body).getElements('span[class='+m+']').each(function(item, index, allItems){ item.innerHTML = diff.m; }); //Zweizeilig $(document.body).getElements('span[class='+m+'_doubledigit]').each(function(item, index, allItems){ tmp = diff.m; tmp = tmp.toString(); if(tmp.length==1){ item.innerHTML = '0'+tmp; }else{ item.innerHTML = tmp; } }); $(document.body).getElements('span[class='+s+']').each(function(item, index, allItems){ item.innerHTML = diff.s; }); //Zweizeilig $(document.body).getElements('span[class='+s+'_doubledigit]').each(function(item, index, allItems){ tmp = diff.s; tmp = tmp.toString(); if(tmp.length==1){ item.innerHTML = '0'+tmp; }else{ item.innerHTML = tmp; } }); //Minutenauf- bzw. abschlag try{ if (diff.s == 0) { {/literal} {if $sLiveshoppingData.typeID == 2 || $sLiveshoppingData.typeID == 3} //Neuen Preis ermitteln var newPrice = $('{$uniquekey}{$sLiveshoppingData.ordernumber}_price').value; {if $sLiveshoppingData.typeID == 3} newPrice = eval(newPrice)+eval({$sLiveshoppingData.minPrice}); {else} newPrice = eval(newPrice)-eval({$sLiveshoppingData.minPrice}); {/if} $('{$uniquekey}{$sLiveshoppingData.ordernumber}_price').value = newPrice; $('{$uniquekey}{$sLiveshoppingData.ordernumber}_display_price').innerHTML = number_format(newPrice, 2, ',','.'); {/if} {literal} } }catch(e){} //Prozessbars aktualisieren $(document.body).getElements('div[class='+dp+']').each(function(item, index, allItems){ var proz = eval(diff.d)*100/31; if(proz > 100) proz = 100; proz = 100 - proz; item.setStyle('width', proz+'%'); }); $(document.body).getElements('div[class='+hp+']').each(function(item, index, allItems){ var proz = eval(diff.h)*100/59; proz = 100 - proz; item.setStyle('width', proz+'%'); }); $(document.body).getElements('div[class='+mp+']').each(function(item, index, allItems){ var proz = eval(diff.m)*100/59; proz = 100 - proz; item.setStyle('width', proz+'%'); }); $(document.body).getElements('div[class='+sp+']').each(function(item, index, allItems){ var proz = eval(diff.s)*100/59; proz = 100 - proz; item.setStyle('width', proz+'%'); }); $(document.body).getElements('div[class='+spbar+']').each(function(item, index, allItems){ var proz = eval(diff.s)*100/59; item.setStyle('width', proz+'%'); }); {/literal} {if $sLiveshoppingData.max_quantity_enable} {literal} $(document.body).getElements('div[class='+instockp+']').each(function(item, index, allItems){ var proz = eval({/literal}{$sLiveshoppingData.max_quantity}{literal})*100/eval({/literal}{$sLiveshoppingData.max_quantity+$sLiveshoppingData.sells}{literal}); proz = 100 - proz; item.setStyle('width', proz+'%'); }); {/literal} {/if} {literal} } //Live-Shopping abgelaufen else{ //Seite neu laden location.reload(); } },1000); //Differenz zwischen zwei Timestamps berechnen function timestampDiff (d1, d2) { if (d1 < d2) { return false; } var d = Math.floor ((d1 - d2) / (24 * 60 * 60 * 1000)); var h = Math.floor (((d1 - d2) - (d * 24 * 60 * 60 * 1000)) / (60 * 60 * 1000)); var m = Math.floor (((d1 - d2) - (d * 24 * 60 * 60 * 1000) - (h * 60 * 60 * 1000)) / (60 * 1000)); var s = Math.floor (((d1 - d2) - (d * 24 * 60 * 60 * 1000) - (h * 60 * 60 * 1000) - (m * 60 * 1000)) / 1000); return { 'd': d, 'h': h, 'm': m, 's': s }; } {/literal} </script>
in folgendes ändern:
<script type="text/javascript"> {literal} window.setInterval(function () { {/literal} var now = $.server.dateObj; var target = new Date(); target.setTime({$sLiveshoppingData.valid_to_ts} * 1000); {literal} var d = '{/literal}{$uniquekey}{$sLiveshoppingData.ordernumber}{literal}_days'; var h = '{/literal}{$uniquekey}{$sLiveshoppingData.ordernumber}{literal}_hours'; var m = '{/literal}{$uniquekey}{$sLiveshoppingData.ordernumber}{literal}_min'; var s = '{/literal}{$uniquekey}{$sLiveshoppingData.ordernumber}{literal}_sec'; var dp = '{/literal}{$uniquekey}{$sLiveshoppingData.ordernumber}{literal}_days_prozess'; var hp = '{/literal}{$uniquekey}{$sLiveshoppingData.ordernumber}{literal}_hours_prozess'; var mp = '{/literal}{$uniquekey}{$sLiveshoppingData.ordernumber}{literal}_min_prozess'; var sp = '{/literal}{$uniquekey}{$sLiveshoppingData.ordernumber}{literal}_sec_prozess'; var spbar = '{/literal}{$uniquekey}{$sLiveshoppingData.ordernumber}{literal}_secbar_prozess'; var instockp = '{/literal}{$uniquekey}{$sLiveshoppingData.ordernumber}{literal}_instock_prozess'; var diff = timestampDiff(target.getTime(), now.getTime()); if(diff != false) { //Tage $('span[class='+d+']').each(function(index, item) { $(item).html(diff.d); }); //Tage - Zweizeilig $('span[class='+d+'_doubledigit]').each(function(index, item) { tmp = diff.d; tmp = tmp.toString(); if(tmp.length == 1) $(item).html('0' + tmp); else $(item).html(tmp); }); //Stunden $('span[class='+h+']').each(function(index, item) { $(item).html(diff.h); }); //Stunden - Zweizeilig $('span[class='+h+'_doubledigit]').each(function(index, item) { tmp = diff.h; tmp = tmp.toString(); if(tmp.length == 1) $(item).html('0'+tmp); else $(item).html(tmp); }); //Minuten $('span[class='+m+']').each(function(index, item) { $(item).html(diff.m); }); //Minuten - Zweizeilig $('span[class='+m+'_doubledigit]').each(function(index, item) { tmp = diff.m; tmp = tmp.toString(); if(tmp.length == 1) $(item).html('0'+tmp); else $(item).html(tmp); }); //Sekunden $('span[class='+s+']').each(function(index, item) { $(item).html(diff.s); }); //Sekunden -Zweizeilig $('span[class='+s+'_doubledigit]').each(function(index, item) { tmp = diff.s; tmp = tmp.toString(); if(tmp.length == 1) $(item).html('0'+tmp); else $(item).html(tmp); }); //Minutenauf- bzw. abschlag try { if(diff.s == 0) { {/literal} {if $sLiveshoppingData.typeID == 2 || $sLiveshoppingData.typeID == 3} //Neuen Preis ermitteln var newPrice = $('#{$uniquekey}{$sLiveshoppingData.ordernumber}_price').val(); {if $sLiveshoppingData.typeID == 3} newPrice = eval(newPrice)+eval({$sLiveshoppingData.minPrice}); {else} newPrice = eval(newPrice)-eval({$sLiveshoppingData.minPrice}); {/if} $('#{$uniquekey}{$sLiveshoppingData.ordernumber}_price').val(newPrice); $('#{$uniquekey}{$sLiveshoppingData.ordernumber}_display_price').html($.number_format(newPrice, 2, ',','.')); {/if} {literal} } } catch(e) {} //Prozessbars aktualisieren $('div .'+dp).each(function(index, item) { var proz = eval(diff.d)*100/31; if(proz > 100) proz = 100; proz = 100 - proz; $(item).css('width', proz+'%'); }); $('div .'+hp).each(function(index, item) { var proz = eval(diff.h)*100/59; proz = 100 - proz; $(item).css('width', proz + '%'); }); $('div .'+mp).each(function(index, item) { var proz = eval(diff.m)*100/59; proz = 100 - proz; $(item).css('width', proz + '%'); }); $('div .'+sp).each(function(index, item) { var proz = eval(diff.s)*100/59; proz = 100 - proz; $(item).css('width', proz + '%'); }); $('div .'+spbar).each(function(index, item) { var proz = eval(diff.s)*100/59; $(item).css('width', proz + '%'); }); {/literal} {if $sLiveshoppingData.max_quantity_enable} {literal} $('div .'+instockp).each(function(index, item) { var proz = eval({/literal}{$sLiveshoppingData.max_quantity}{literal})*100/eval({/literal}{$sLiveshoppingData.max_quantity+$sLiveshoppingData.sells}{literal}); proz = 100 - proz; $(item).css('width', proz + '&'); }); {/literal} {/if} {literal} //Live-Shopping abgelaufen } else { //Seite neuladen location.reload(); } }, 1000); //Differenz zwischen zwei Timestamps berechnen function timestampDiff (d1, d2) { if (d1 < d2) { return false; } var d = Math.floor ((d1 - d2) / (24 * 60 * 60 * 1000)); var h = Math.floor (((d1 - d2) - (d * 24 * 60 * 60 * 1000)) / (60 * 60 * 1000)); var m = Math.floor (((d1 - d2) - (d * 24 * 60 * 60 * 1000) - (h * 60 * 60 * 1000)) / (60 * 1000)); var s = Math.floor (((d1 - d2) - (d * 24 * 60 * 60 * 1000) - (h * 60 * 60 * 1000) - (m * 60 * 1000)) / 1000); return { 'd': d, 'h': h, 'm': m, 's': s }; } {/literal} </script>
article_notification.tpl
Diese Datei finden Sie unter "/templates/0/de/html/articles/notification/"
Zeile 42-85
<script language="JavaScript" type="text/javascript"> {literal} function checkNotification(ordernumber) { var variantOrdernumberArray = new Array(); {/literal} {foreach from=$sArticle.sNotificationVariants item=notify} variantOrdernumberArray.push('{$notify}'); {/foreach} {literal} var isSet = false; for (var i = 0; i < variantOrdernumberArray.length; ++i){ if(variantOrdernumberArray[i] == ordernumber){ isSet = true; try {$('articleNotificationWasSend').style.display="block"; }catch (e){} try {$('sendArticleNotification').style.display="none"; }catch (e){} } } if(isSet == false){ try { $('articleNotificationWasSend').style.display="none"; } catch(e){} try { $('sendArticleNotification').style.display="block"; }catch (e){} } if (ordernumber != "0") { var currentInstock = $('instock_'+ordernumber).value; if(currentInstock > 0) { $('article_notification').setStyle('display', 'none'); } else{ $('article_notification').setStyle('display', 'block'); try { $('variantOrdernumber').value=ordernumber; } catch(e){} } } } {/literal} </script> {/if}
in folgendes ändern:
<script type="text/javascript"> {literal} function checkNotification(ordernumber) { var variantOrdernumberArray = new Array(); {/literal} {foreach from=$sArticle.sNotificationVariants item=notify} variantOrdernumberArray.push('{$notify}'); {/foreach} {literal} var isSet = false; for(var i = 0; i < variantOrdernumberArray.length; ++i) { if(variantOrdernumberArray[i] == ordernumber) { isSet = true; try { $('#articleNotificationWasSend').show(); } catch(e) {} try { $('#sendArticleNotification').hide(); } catch(e) {} } } if(isSet == false) { try { $('#articleNotificationWasSend').hide(); } catch(e) {} try { $('#sendArticleNotification').show(); } catch(e) {} } if(ordernumber != '0') { var currentInstock = $('#instock_'+ordernumber).val(); if(currentInstock > 0) { $('#article_notification').hide(); } else { $('#article_notification').show(); try { $('#variantOrdernumber').val(ordernumber); } catch(e) {} } } } {/literal} </script> {/if}
article_box_4col.tpl
Diese Datei finden Sie unter "/templates/0/de/html/articles/"
Zeile 13:
{if !$sHideCompare}<a href="#" onclick="addCompare('{$sArticle.articleID}')" class="compare_artbox4">{$sConfig.sSnippets.sArticleButtonCompare}</a>{/if}
in folgendes ändern:
{if !$sHideCompare}<a href="#" onclick="$.compare.addCompare('{$sArticle.articleID}')" class="compare_artbox4">{$sConfig.sSnippets.sArticleButtonCompare}</a>{/if}
article_details_middle.tpl
Diese Datei finden Sie unter "/templates/0/de/html/articles/"
Zeile 197-216
<script> {literal} function iterateOrder(){ $('sAddAccessories').setProperty('value',''); var x = document.getElementsBySelector('.sValueChanger'); x.each( function (e){ if (e.checked){ var value = $('sAddAccessories').getProperty('value'); value = value + e.value + ";"; $('sAddAccessories').setProperty('value',value); } } ); } {/literal} </script>
in folgendes ändern:
<script> {literal} function iterateOrder() { $('#sAddAccessories').val(''); var x = $('.sValueChanger'); x.each(function(i, e) { if(e.checked) { var value = $('#sAddAccessories').val(); value = value + e.value + ';'; $('#sAddAccessories').val(value); } }) } {/literal} </script>
Zeile 225:
<input style="margin: 7px 7px 0 0;" type="checkbox" class="sValueChanger chkbox" name="sValueChange" id="CHECK{$sAccessoryChild.ordernumber}" onchange="iterateOrder()" value="{$sAccessoryChild.ordernumber}"><label onmouseover="$('DIV{$sAccessoryChild.ordernumber}').setStyle('display','block');" onmouseout="$('DIV{$sAccessoryChild.ordernumber}').setStyle('display','none');" style="width:140px;float: left; line-height: 1.2em;margin: 5px 0 0 0; padding: 0; height: 20px; cursor: pointer;" for="CHECK{$sAccessoryChild.ordernumber}">{$sAccessoryChild.optionname|truncate:35} ({* sSnippet: surcharge *}{$sConfig.sSnippets.sArticlesurcharge}: {$sAccessoryChild.price} {$sConfig.sCURRENCYHTML})</label>
in folgendes ändern:
<input style="margin: 7px 7px 0 0;" type="checkbox" class="sValueChanger chkbox" name="sValueChange" id="CHECK{$sAccessoryChild.ordernumber}" onchange="iterateOrder()" value="{$sAccessoryChild.ordernumber}"><label onmouseover="$('#DIV{$sAccessoryChild.ordernumber}').show();" onmouseout="$('#DIV{$sAccessoryChild.ordernumber}').hide();" style="width:140px;float: left; line-height: 1.2em;margin: 5px 0 0 0; padding: 0; height: 20px; cursor: pointer;" for="CHECK{$sAccessoryChild.ordernumber}">{$sAccessoryChild.optionname|truncate:35} ({* sSnippet: surcharge *}{$sConfig.sSnippets.sArticlesurcharge}: {$sAccessoryChild.price} {$sConfig.sCURRENCYHTML})</label>
Zeile 258-262:
{literal} <script type="text/javascript"> $('basketButton').setStyle("opacity", "0.5"); </script> {/literal}
in folgendes ändern:
{literal} <script type="text/javascript"> $('#basketButton').css(opacity, "0.5"); </script> {/literal}
Zeile 313-328:
{literal} <script language="javascript"> function loadTab(tab){ $$('.aTab').each(function(el){ el.setStyle('display','none'); }); $(tab).setStyle('display','block'); $$('.tabs-selected').each(function(el){ el.removeClass('tabs-selected'); }); $('link'+tab).addClass('tabs-selected'); } </script> {/literal}
Diese Zeilen bitte komplett entfernen!
Zeile 627-662:
<script type="text/javascript"> window.onload=function() { $('bewertungen').setStyle('display','none'); try { $('datenblatt').setStyle('display','none'); } catch (e){} try { $('zubehoer').setStyle('display','none'); } catch (e){} try { $('finance').setStyle('display','none'); } catch (e){} $$('.updateMe').each(function(el){ el.removeProperty('href'); }); stripe('zebra'); Lightbox.init({descriptions: '.lightboxDesc', showControls: true}); //Set Comment on focus by commentsubmit {/literal} {if $_POST.sAction == "saveComment"||!empty($_GET.sVoteMail)} {literal} loadTab('bewertungen'); $('bewertungen').setStyle('display', 'block'); $('bewertungen').focus(); {/literal} {/if} {literal} } </script> {/literal}
Diese Zeilen bitte komplett entfernen!
Zeile 701-768:
<script language="JavaScript" type="text/javascript"> {literal} function changeDetails(ordernumber) { if(typeof(window.checkNotification) == "function") { checkNotification(ordernumber); } if (ordernumber != "0"){ $('article_details').setHTML($(ordernumber).innerHTML); // Swap pictures try { {/literal} {if $sConfig.sUSEZOOMPLUS} MagicZoom_stopZooms(); $('imgTarget').setHTML($('img'+ordernumber).innerHTML); $('imgTarget').getFirst().setProperty('id','zoom1'); $('imgTarget').getFirst().addClass('MagicZoom MagicThumb'); MagicZoom_findZooms(); MagicThumb.refresh(); {else} $('imgTarget').setHTML($('img'+ordernumber).innerHTML); {/if} {literal} }catch (e) {} if($('basketButton')) { $('basketButton').removeEvents('click'); $('basketButton').setStyle('opacity',1); } }else { $('basketButton').removeEvents('click'); $('basketButton').addEvent('click', function(event){ new Event(event).stop(); alert("{/literal}{* sSnippet: please choose first execution *}{$sConfig.sSnippets.sArticlechoosefirstexecu}{literal}"); }); } Lightbox.init({descriptions: '.lightboxDesc', showControls: true}); {/literal}{include file="articles/bundles/changeDetails_bundle.tpl"}{literal} } {/literal} </script> <script language="JavaScript" type="text/javascript"> {literal} window.addEvent('domready', function() { {/literal} // Set default-view to base-article {if !$sArticle.sVariants} changeDetails("{$sArticle.ordernumber}"); {else} {literal} // Set view for variant articles // price starting from $('article_details').setHTML($('variant').innerHTML); $('basketButton').removeEvents('click'); $('basketButton').addEvent('click', function(event){ new Event(event).stop(); alert("{/literal}{* sSnippet: please choose first execution *}{$sConfig.sSnippets.sArticlechoosefirstexecu}{literal}"); }); {/literal} {/if} {literal} }); </script> {/literal}
in folgendes ändern:
<script type="text/javascript"> {literal} $(document).ready(function() { $('#bewertungen').hide(); try {$('#datenblatt').hide()} catch(e) {} try {$('#zubehoer').hide();} catch(e) {} try {$('#finance').hide();} catch(e) {} $('.updateMe').each(function(i, el) {$(el).removeAttr('href');}); $.stripe('zebra'); //lightbox: init() //Set Comment on focus by commentsubmit {/literal} {if $_POST.sAction == "saveComment" || !empty($_GET.sVoteMail)} {literal} loadTab('bewertungen'); $('#bewertungen').show().focus(); {/literal} {/if} // Set default-view to base-article {if !$sArticle.sVariants} changeDetails("{$sArticle.ordernumber}"); {else} {literal} // Set view for variant articles // price starting from $('#article_details').html($('#variant').html()); $('#basketButton').unbind('click').bind('click', function() { alert("{/literal}{* sSnippet: please choose first execution *}{$sConfig.sSnippets.sArticlechoosefirstexecu}{literal}"); }); {/literal} {/if} {literal} }); function changeDetails(ordernumber) { if(typeof(window.checkNotifcation) == 'function') checkNotification(ordernumber); if(ordernumber != '0') { $('#article_details').html($('#'+ordernumber).html()); //jQZoom zufinden in jquery.template.js } else { $('#basketButton').unbind('click').bind('click', function() { alert("{/literal}{* sSnippet: please choose first execution *}{$sConfig.sSnippets.sArticlechoosefirstexecu}{literal}"); }); } {/literal}{include file="articles/bundles/changeDetails_bundle.tpl"}{literal} } function loadTab(tab) { $('.aTab').each(function(i, el) { $(el).hide(); }); $('#'+tab).show(); $('.tabs-selected').each(function(i, el) { $(el).removeClass('tabs-selected') }); $('#link' + tab).addClass('tabs-selected').show(); } {/literal} </script>
details.tpl
Diese Datei finden Sie unter "/templates/0/de/html/blog/"
Zeile 230-237:
{literal} <script type="text/javascript"> window.onload=function() { Lightbox.init({descriptions: '.lightboxDesc', showControls: true}); } </script> {/literal}
Diese Zeilen bitte komplett löschen
listing.tpl
Diese Datei finden Sie unter "/templates/0/de/html/blog/"
Zeile 123-130:
{literal} <script type="text/javascript"> window.onload=function() { Lightbox.init({descriptions: '.lightboxDesc', showControls: true}); } </script> {/literal}
Diese Zeilen bitte komplett löschen
category_right_charts.tpl
Diese Datei finden Sie unter "/templates/0/de/html/category". Bitte überschreiben Sie diese und ersetzen Sie sie mit der hier gelieferten Datei. Sie finden diese Datei im Ordner "0/de/templates/html/articles/category_right.tpl". Es handelt es sich hier um eine Syntax zur Erstellung der Topseller-Liste. Bitte haben Sie dafür Verständnis.
"media"-Ordner
Im folgenden Schritt ändern und bereinigen wir den "media"-Ordner, welcher unter "/templates/0/de/" zufinden ist
"js"-Ordner
Bitte entfernen Sie die "core.js" und setzen Sie folgende Dateien in den "js"-Ordner:
- jquery-1.4.min.js
- jquery.shopware.js
- jquery.easing-1.3.pack.js
"img"-Ordner
Hier entfernen Sie bitte den Ordner "lightbox" und fügen den Ordner "fancybox" unter "/templates/0/de/media/default" ein.
basic.css
Für die neuen Plugins müssen wir auch die Stylesheet Einstellungen setzen. Dazu öffnen Sie die Datei "/template/0/de/media/css/basic.css" und fügen am Ende folgendes ein:
/* Plugin jQZoom */ div.jqZoomTitle{z-index:5000; text-align:center; font-size:11px; font-family:Tahoma; height:16px; padding-top:2px; position:absolute; top:0px; left:0px; width:100%; color:#FFF; background:#999} .jqZoomPup{overflow:hidden; background-color:#FFF; opacity:0.6; z-index:10; border-color:#c4c4c4; border-style:solid; cursor:crosshair} .jqZoomPup img{border:0px} .preload{color:#333; font-size:12px; font-family:Tahoma; text-decoration:none; border:1px solid #CCC; background-color:white; padding:8px; text-align:center; background-image:url(../img/default/zoomloader.gif); background-repeat:no-repeat; background-position:43px 30px; width:90px; height:43px; z-index:10; position:absolute; top:3px; left:3px} .jqZoomWindow{border:1px solid #999; background-color:#FFF} /* Plugin Topseller */ ul#accordion{ padding:0; border:1px solid #ececec; width:148px} ul#accordion li a{ background:#222; padding:0.5em; display:block; color:#ececec; font-weight:bold; font:0.8em Verdana,Arial,Helvetica,sans-serif; text-decoration:none} ul >li{ list-style:none; padding:0; margin:0} ul#accordion li ul{ margin:0; padding:0} ul#accordion li ul li{ padding:2px; margin:0; text-align:center; font:0.8em Verdana,Arial,Helvetica,sans-serif} ul#accordion li ul li a{ padding:5px 0; font:0.8em Verdana,Arial,Helvetica,sans-serif; color:#222; background:none} ul#accordion li ul li a:hover{ color:#C90} /* Plugin Fancybox */ #fancybox-loading{position:fixed; top:50%; left:50%; height:40px; width:40px; margin-top:-20px; margin-left:-20px; cursor:pointer; overflow:hidden; z-index:1104; display:none} * html #fancybox-loading{/* IE6 */position:absolute; margin-top:0} #fancybox-loading div{position:absolute; top:0; left:0; width:40px; height:480px; background-image:url('../img/default/fancybox/fancybox.png')} #fancybox-overlay{position:fixed; top:0; left:0; bottom:0; right:0; background:#000; z-index:1100; display:none} * html #fancybox-overlay{/* IE6 */position:absolute; width:100%} #fancybox-tmp{padding:0; margin:0; border:0; overflow:auto; display:none} #fancybox-wrap{position:absolute; top:0; left:0; margin:0; padding:20px; z-index:1101; display:none} #fancybox-outer{position:relative; width:100%; height:100%; background:#FFF} #fancybox-inner{position:absolute; top:0; left:0; width:1px; height:1px; padding:0; margin:0; outline:none; overflow:hidden} #fancybox-hide-sel-frame{position:absolute; top:0; left:0; width:100%; height:100%; background:transparent} #fancybox-close{position:absolute; top:-15px; right:-15px; width:30px; height:30px; background-image:url('../img/default/fancybox/fancybox.png'); background-position:-40px 0px; cursor:pointer; z-index:1103; display:none} #fancybox_error{color:#444; font:normal 12px/20px Arial; padding:7px; margin:0} #fancybox-content{height:auto; width:auto; padding:0; margin:0} #fancybox-img{width:100%; height:100%; padding:0; margin:0; border:none; outline:none; line-height:0; vertical-align:top; -ms-interpolation-mode:bicubic} #fancybox-frame{position:relative; width:100%; height:100%; border:none; display:block} #fancybox-title{position:absolute; bottom:0; left:0; font-family:Arial; font-size:12px; z-index:1102} .fancybox-title-inside{padding:10px 0; text-align:center; color:#333} .fancybox-title-outside{padding-top:5px; color:#FFF; text-align:center; font-weight:bold} .fancybox-title-over{color:#FFF; text-align:left} #fancybox-title-over{padding:10px; background-image:url('../img/default/fancybox/fancy_title_over.png'); display:block} #fancybox-title-wrap{display:inline-block} #fancybox-title-wrap span{height:32px; float:left} #fancybox-title-left{padding-left:15px; background-image:url('../img/default/fancybox/fancybox.png'); background-position:-40px -90px; background-repeat:no-repeat} #fancybox-title-main{font-weight:bold; line-height:29px; background-image:url('../img/default/fancybox/fancybox-x.png'); background-position:0px -40px; color:#FFF} #fancybox-title-right{padding-left:15px; background-image:url('../img/default/fancybox/fancybox.png'); background-position:-55px -90px; background-repeat:no-repeat} #fancybox-left, #fancybox-right{position:absolute; bottom:0px; height:100%; width:35%; cursor:pointer; outline:none; background-image:url('../img/default/fancybox/blank.gif'); z-index:1102; display:none} #fancybox-left{left:0px} #fancybox-right{right:0px} #fancybox-left-ico, #fancybox-right-ico{position:absolute; top:50%; left:-9999px; width:30px; height:30px; margin-top:-15px; cursor:pointer; z-index:1102; display:block} #fancybox-left-ico{background-image:url('../img/default/fancybox/fancybox.png'); background-position:-40px -30px} #fancybox-right-ico{background-image:url('../img/default/fancybox/fancybox.png'); background-position:-40px -60px} #fancybox-left:hover, #fancybox-right:hover{visibility:visible; /* IE6 */} #fancybox-left:hover span{left:20px} #fancybox-right:hover span{left:auto; right:20px} .fancy-bg{position:absolute; padding:0; margin:0; border:0; width:20px; height:20px; z-index:1001} #fancy-bg-n{top:-20px; left:0; width:100%; background-image:url('../img/default/fancybox/fancybox-x.png')} #fancy-bg-ne{top:-20px; right:-20px; background-image:url('../img/default/fancybox/fancybox.png'); background-position:-40px -162px} #fancy-bg-e{top:0; right:-20px; height:100%; background-image:url('../img/default/fancybox/fancybox-y.png'); background-position:-20px 0px} #fancy-bg-se{bottom:-20px; right:-20px; background-image:url('../img/default/fancybox/fancybox.png'); background-position:-40px -182px} #fancy-bg-s{bottom:-20px; left:0; width:100%; background-image:url('../img/default/fancybox/fancybox-x.png'); background-position:0px -20px} #fancy-bg-sw{bottom:-20px; left:-20px; background-image:url('../img/default/fancybox/fancybox.png'); background-position:-40px -142px} #fancy-bg-w{top:0; left:-20px; height:100%; background-image:url('../img/default/fancybox/fancybox-y.png')} #fancy-bg-nw{top:-20px; left:-20px; background-image:url('../img/default/fancybox/fancybox.png'); background-position:-40px -122px} /* Plugin Fancybox IE FIX */ #fancybox-loading.fancybox-ie div { background: transparent; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='media/img/default/fancyboxfancy_loading.png', sizingMethod='scale'); } .fancybox-ie #fancybox-close { background: transparent; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='media/img/default/fancyboxfancy_close.png', sizingMethod='scale'); } .fancybox-ie #fancybox-title-over { background: transparent; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='media/img/default/fancyboxfancy_title_over.png', sizingMethod='scale'); zoom: 1; } .fancybox-ie #fancybox-title-left { background: transparent; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='media/img/default/fancyboxfancy_title_left.png', sizingMethod='scale'); } .fancybox-ie #fancybox-title-main { background: transparent; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='media/img/default/fancyboxfancy_title_main.png', sizingMethod='scale'); } .fancybox-ie #fancybox-title-right { background: transparent; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='media/img/default/fancyboxfancy_title_right.png', sizingMethod='scale'); } .fancybox-ie #fancybox-left-ico { background: transparent; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='media/img/default/fancyboxfancy_nav_left.png', sizingMethod='scale'); } .fancybox-ie #fancybox-right-ico { background: transparent; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='media/img/default/fancyboxfancy_nav_right.png', sizingMethod='scale'); } .fancybox-ie .fancy-bg { background: transparent !important; } .fancybox-ie #fancy-bg-n { filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='media/img/default/fancyboxfancy_shadow_n.png', sizingMethod='scale'); } .fancybox-ie #fancy-bg-ne { filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='media/img/default/fancyboxfancy_shadow_ne.png', sizingMethod='scale'); } .fancybox-ie #fancy-bg-e { filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='media/img/default/fancyboxfancy_shadow_e.png', sizingMethod='scale'); } .fancybox-ie #fancy-bg-se { filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='media/img/default/fancyboxfancy_shadow_se.png', sizingMethod='scale'); } .fancybox-ie #fancy-bg-s { filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='media/img/default/fancyboxfancy_shadow_s.png', sizingMethod='scale'); } .fancybox-ie #fancy-bg-sw { filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='media/img/default/fancyboxfancy_shadow_sw.png', sizingMethod='scale'); } .fancybox-ie #fancy-bg-w { filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='media/img/default/fancyboxfancy_shadow_w.png', sizingMethod='scale'); } .fancybox-ie #fancy-bg-nw { filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='media/img/default/fancyboxfancy_shadow_nw.png', sizingMethod='scale'); }
Schlusswort
Das Shopware AG-Team wünscht Ihnen viel Spaß und Erfolg mit dieser Erweiterung.
Artikel-PDF erstellen
Erweiterung bewerten
Kommentare:
Sauber =)
29.03.2010 10:10Von: M. Klooß
Hört sich gut an :-), sogar sehr gut
Artikel kommentieren
Weitere interessante Artikel:
Bestell-Nr.: SW1352
Lieferzeit ca. 5 Tage
Preise inkl. gesetzlicher
MwSt. zzgl. Versandkosten*
Preise inkl. gesetzlicher
MwSt. + Versandkosten*