Hallo,
hier mein Fix für den Bug...
Hallo,
hier mein Fix für den Bug...
Hallo,
also ich nochmals.
Es gibt tats. einen Bug, ist auf der Demo Version v21plus zu sehen.
1 Bug) Man wählt den Kühlschrank (Product mit Option) und Bingo: Javascript Fehler-> original_price undefined.
2 Bug) Wenn der Preis des Artikel <1000 € original_price ist kein "zahl" mehr, sondern etwas wie 1,000.00.
Lösung:
1 Bug) Der Aufruf der Funktion
von der product_options_xxx.html (wobei xxx alle Option-Templates bedeutet)
zu der product_info_v1.html innerhalb des Javascript bewegt :
<script type="text/javascript">
original_price = .....
document.write....
updatePrice();/AUFRUF DER FUNKTION
</script>
2 Bug) Ok, jetzt wird es Rock 'n Roll....
In der modules/product_info.php gibt es bei Linie ca 48 einen seltsamen Aufruf:
Wieso auch immer, den Sinn habe ich nicht nachvollziehen können...(vielleicht weisst jemand mehr darüber) weil die php Funktion "formatiert" die Zahl mit dezimal und tausender Trenner! Un da ist der Hacken.
Also...auskommentieren.
Dieser $product_price_j wird später benutzt um die Javascript Variable zu befüllen.
Dann unter :
if(PRICE_AS_IMAGE == 'true') {
$price = $products_price;
} else {
$price = $products_price['formated'];
}
mit
anfügen.
....mehr in Teil 2.
...
Bei ca Linie 98/100:
$info_smarty->assign('PRODUCTS_PRICE_J', $products_price_j);
// ATTRIBUTES_PRICES_JAVASCRIPT by xtc-deluxe.de
$info_smarty->assign('PRODUCTS_PRICE_PLAIN', $products_price_j);
auskommentieren/ersetzen.
//$info_smarty->assign('PRODUCTS_PRICE_J', $products_price_j);// AUSKOMMENTIERT
// ATTRIBUTES_PRICES_JAVASCRIPT by xtc-deluxe.de
$info_smarty->assign('PRODUCTS_PRICE_PLAIN', $price_plain); // NEUE WERT
und in der zB. product_info_v1.html
<script type="text/javascript">
original_price = {$PRODUCTS_PRICE_PLAIN};
document.write('<strong>{$SYMBOL_LEFT} <span id="price">{$PRODUCTS_PRICE_PLAIN}</span> {$SYMBOL_RIGHT}</strong><br /><em class="fs85">({$SYMBOL_LEFT}{$PRODUCTS_PRICE_J} {$SYMBOL_RIGHT})</em><br />');
</script>
mit
<script type="text/javascript">
original_price = {$PRODUCTS_PRICE_PLAIN};
document.write('<strong><span id="price">{$PRODUCTS_PRICE}</span></strong><br /><em class="fs85">({$PRODUCTS_PRICE})</em><br />');
updatePrice();
</script>
ersetzen.
Ok, damit sollte es behoben werden.
Bonus Track:
In der product_attributes.php folgendes addieren:
$module_smarty->assign('SYMBOL_LEFT',$xtPrice->currencies[$xtPrice->actualCurr]['symbol_left']);
$module_smarty->assign('SYMBOL_RIGHT',$xtPrice->currencies[$xtPrice->actualCurr]['symbol_right']);
$module_smarty->assign('TEXT_PRICE_INCL_OPTIONS',YOUR_PRICE);
Und dann bei Zeile ca 44 von der product_options_selection.html ändern in.
document.getElementById("price").firstChild.nodeValue = '{$TEXT_PRICE_INCL_OPTIONS}'+'{$SYMBOL_LEFT} '+currencyToXTC(calculated_price)+' {$SYMBOL_RIGHT}';
Damit der Kunde der Angezeigter Preis versteht.
-----
Wenn ihr das addiert, sieht ihr auch dass einen smarty Variablen Block bei jeden Option Aufruf definiert wird.
Einfach ausserhalb des Loops bewegen:
#$products_options_data[$row]['DATA'][$col] = array ('ID' => $products_options['products_options_values_id'], 'TEXT' => $products_options['products_options_values_name'], 'MODEL' => $products_options['attributes_model'], 'PRICE' => $xtPrice->xtcFormat($price, true), 'FULL_PRICE' => $xtPrice->xtcFormat($full, true), 'PREFIX' => $products_options['price_prefix'], 'PRICE_PLAIN' => $price);
$module_smarty->assign('DECIMAL_PLACES',$xtPrice->currencies[$xtPrice->actualCurr]['decimal_places']);
$module_smarty->assign('THOUSANDS_POINT',$xtPrice->currencies[$xtPrice->actualCurr]['thousands_point']);
$module_smarty->assign('DECIMAL_POINT',$xtPrice->currencies[$xtPrice->actualCurr]['decimal_point']);
$module_smarty->assign('SYMBOL_LEFT',$xtPrice->currencies[$xtPrice->actualCurr]['symbol_left']);
$module_smarty->assign('SYMBOL_RIGHT',$xtPrice->currencies[$xtPrice->actualCurr]['symbol_right']);
$module_smarty->assign('TEXT_PRICE_INCL_OPTIONS',YOUR_PRICE);
bis vor:
Hallo julien, auch hier tolle Arbeit, ABER ich habe eine deutlich bessere Variante im QF3 eingesetzt. Die Attributpreis update Funktion läuft jetzt sauber, inkl. Sonderspreise und Staffelpreise. Das ging alles nicht korrekt. Deshalb ist das QF3 auch etwas umfangreicher! Hier werden dann auch die product_info Dateien ausgetauscht. Jeder, der schon Anpassungen gemacht hat, SOLLTE UNBEDINGT eine komplette Sicherung machen und die Dateien EINZELN per Notepad++ vergleichen!
WO ist QF3 zu downloaden?
Ruhig Brauner Mache noch einen letzten Test, kommt ca. 21:00 Uhr
P.S.: Die neue Demo Seite der v2.1 Plus ist unter http://www.v21plus.de
HE sitze auf den SCHIRM
Wen Du noch den Abrundungstip geben könnte aus den mail?
Und gehst du zum Holland , nein besser nicht die haben momentan nicht viel geduld
OK demo gesehen.
Ist fix von Julien drin beim Suche, aber dan könnte mann nicht mehr gleich mit einer klick auf dass bild auswählen oder ?
Hallo,
also wenn die neue Version online ist ist drinn immer noch einen JS Bug.
form.nuPrice undefined
hier zu finden.
http://www.v21plus.de/Dell-Laptop-DEMO-4.html
Julien.
Hallo Julien,
Admin hat Urlaub.
Welches Browser weil ich sehe es nicht? ( altes ff3.6, und ie9)
Was aber drin ist jedenfal ich sehe ist in suchfeld könnte man nicht mehr gleich auf Produkt gehen.
Und danach wen weiter dann lauft dieser nicht richtig, https://www.v21plus.de/advanced_search_result.php
Oder ich sehe etwas nicht gut
Hallo Jo,
FF 3.6 ?? Du bist lustig! Mittlerweile ist 5.0 Standart und morgen kommt die 6.0 Version.
Spass bei Seite, lade dir den Firebug plugin und somit bekommst du einen besseren Einblick in der HTML/JS.
Meine Plugins Tipps unter FF:
FireBug und Web Developper -> zeigen alle JS und CSS Fehler und viel-viel mehr (css highlighter, DOM...)
HTML Validator -> Zeigt alle HTML compliancy Fehler
KGEN -> Zeigt dir deine Seite wie eine Suchmaschine sie auch liest, Keyword relevanz und so weiter. Sehr Gut zum Optimieren!!
UserAgentSwitcher -> wenn Du mal die Mobile Version debuggen/probieren möchtest.
Julien.
Yep aber ist auf andere Rechner , wegen veraltete plugins auf dieser noch 3.6
Und Ja Mobile version habe ich mal kurz mit einer plugin Iphone sample oder so versucht hmm weiss nicht mehr wo und welches, schade, in jedenfall den Mobile Template ist in anfang
Benutze SEOquake und SENSEO plugin, eigentlich einfachste ist SENSEO weil dieser zum URL alias mit meta's ganz schnell anzeigt ob etwas nicht in ordnung ist laut SENSEO und den auch vor den Benutzer besser geeignet ist, die den Texte und meta's eintippen. .
[dieser meinst du: myItemPrice = parseFloat(form.nuPrice.value); ]]
Yep.
Bin beruflich in die USA unterwegs und kann leider nur sporadisch posten.
Die Ursache der Fehler ist der dass die Variable existiert nur unter bestimmte bedigungen und nicht "immer" (ich gaube wenn Attributen existieren und wenn nicht, bin mir aber nicht mehr sicher...).
Ist kein hekt dass im JS zu ändern, mir fehlt nur die Zeit um etwas sauber zu posten.
Mister Jotest, übernhemen Sie!
Hmm Julien,
Viel zu viel für mich bin kein Programmierer, nur mit copy paste, vergleich und Anleitungen Lesen versuche ich so gut wie es geht.
Mit dass von Anleitung und oder hier in Forum suchen, ( wenn etwa gleiche erfahrungen gemacht) könnte ich bisher etwas zu dieser Forum beitragen.
Ok auch wen ich "Bugs" und oder extra's nutzvolle Module oder so sehe
Aber werde hier naturlich dann Nico oder Andreas fragen ?
Die Javascript Preisaktualisierung ist ja schon komplett neu und funktioniert jetzt auch problemlos. Kam mit dem QF3 mit.
Der Scriptfehler läßt sich wie folgt beheben:
(Template) product_info_v1.html
{if $MODULE_product_options !=''}
<input type="hidden" name="nuPrice" value="{$PRODUCTS_NUPRICE}">
<input type="hidden" name="currency" value="{$CURRENCY}" />
<input type="hidden" name="left" value="{$LEFT}" />
<input type="hidden" name="right" value="{$RIGHT}" />
<input type="hidden" name="decimal" value="{$DECIMAL}" />
<input type="hidden" name="thousand" value="{$THOUSAND}" />
<input type="hidden" name="decimals" value="{$DECIMALS}" />
<div id="productsNEWprice"></div>
{/if}
ändern in:
<input type="hidden" name="nuPrice" value="{$PRODUCTS_NUPRICE}">
<input type="hidden" name="currency" value="{$CURRENCY}" />
<input type="hidden" name="left" value="{$LEFT}" />
<input type="hidden" name="right" value="{$RIGHT}" />
<input type="hidden" name="decimal" value="{$DECIMAL}" />
<input type="hidden" name="thousand" value="{$THOUSAND}" />
<input type="hidden" name="decimals" value="{$DECIMALS}" />
{if $MODULE_product_options !=''}
<div id="productsNEWprice"></div>
{/if}