Du befindest Dich im Archiv vom ABAKUS Online Marketing Forum. Hier kannst Du Dich für das Forum mit den aktuellen Beiträgen registrieren.

Frage zu JSON

Ajax, Hijax, Microformats, RDF, Markup, HTML, PHP, CSS, MySQL, htaccess, robots.txt, CGI, Java, Javascript usw.
Neues Thema Antworten
Unser-Spielzeug
PostRank 4
PostRank 4
Beiträge: 142
Registriert: 28.09.2008, 19:40

Beitrag von Unser-Spielzeug » 27.01.2012, 13:28

Hallo,
vielleicht kann mir hier jemand helfen, wie ich mein Problem lösen kann.
Ich habe einen Shop und setze eine automatische Preisaktualisierung für Produkte ein, für zum Beispiel verschiedene Größen, die dann unterschiedlich teuer sind (also mit Aufpreis).
Ich möchte die Funktion nun etwas verändern.

Hier ein Ausschnitt aus dem Code:

Code: Alles auswählen

if(typeof(data.items)!='undefined'){
			// now give the new data
			$.each(data.items, function(json_id,json_data){
				$(json_data.update_select).effect('highlight', {color:'#FE9A02'}, 750);
				$(json_data.update_select).html(json_data.update_text);
			});
Mit dem Befehl effect(hightlight) blinkt bei einer Aktualisierung des Preises der Background kurz auf.
Nun zur Frage: Kann man zum Beispiel irgendwie angeben, dass die Ausgabe des Preises in Fettschrift erfolgen soll?

Vielen Dank [/quote]

Anzeige von ABAKUS

von Anzeige von ABAKUS »

SEO Consulting bei ABAKUS Internet Marketing
Erfahrung seit 2002
  • persönliche Betreuung
  • individuelle Beratung
  • kompetente Umsetzung

Jetzt anfragen: 0511 / 300325-0.


chris21
PostRank 9
PostRank 9
Beiträge: 2758
Registriert: 10.04.2005, 18:17

Beitrag von chris21 » 27.01.2012, 15:14

Der JSON Teil ist hier gar nicht relevant, sondern einfach jQuery oder was Du da verwendest. Damit man dort mal den Code sehen kann, um zu bestimmen, wo der Preis steht: hast Du einen Beispiellink parat? Ich habe kein Produkt mit verschiedenen Größen oder anderen Modifikatoren gefunden :(

007
PostRank 5
PostRank 5
Beiträge: 332
Registriert: 07.12.2008, 21:52

Beitrag von 007 » 27.01.2012, 15:16

Müsste so funktionieren:

Code: Alles auswählen

if(typeof(data.items)!='undefined'){
$.each(data.items, function(json_id,json_data){
$(json_data.update_select).effect('highlight', {color:'#FE9A02'; font-weight:bold;}, 750);
$(json_data.update_select).html(json_data.update_text);
});

chris21
PostRank 9
PostRank 9
Beiträge: 2758
Registriert: 10.04.2005, 18:17

Beitrag von chris21 » 27.01.2012, 15:36

Hightlight ist wohl der ganze div, der eine Hintergrundfarbe bekommt für 750 Millisekunden. Da das font-weight auf bold zu setzen würde nicht nur den Preis sondern den gesamten div Inhalt betreffen, aber nur für 750 Millisekunden.

Daher brauchen wir eine Beispielseite, um es richtig nach den Vorstellungen einzubauen.

Unser-Spielzeug
PostRank 4
PostRank 4
Beiträge: 142
Registriert: 28.09.2008, 19:40

Beitrag von Unser-Spielzeug » 27.01.2012, 15:59

Erst Mal vielen Dank für Eure Antworten.
@007 Leider funktioniert danach die Funktion nicht mehr, seltsamerweise!

@Chris21
Hier kannst du das Ganze mal sehen:
https://www.unser-spielzeug.de/shop-neu ... ::123.html

Und aussehen sollen die Preise so:
https://www.unser-spielzeug.de/shop-neu ... ::118.html

Synonym
PostRank 10
PostRank 10
Beiträge: 3708
Registriert: 09.08.2008, 02:55

Beitrag von Synonym » 27.01.2012, 16:11

Code: Alles auswählen

<div id="new_price" style=""> 28,90 EUR</div>
Also einfach im CSS dem #new_price ein font-weight:bold; mitgeben.

Nachtrag: Im Beispiel wird es anders gemacht:

<span class="price"> 28,90 EUR</span>

Da gibt es also schon ein span.price

Ist somit auch eine Templatefrage. Musst halt an der entsprechenden Stelle einbauen.
Zuletzt geändert von Synonym am 27.01.2012, 16:12, insgesamt 1-mal geändert.

chris21
PostRank 9
PostRank 9
Beiträge: 2758
Registriert: 10.04.2005, 18:17

Beitrag von chris21 » 27.01.2012, 16:12

Ich würde das Problem ganz anders lösen: gib einfach dem div mit der id=new_price zugleich die class=price, anstatt darin noch zusätzlich die span zu setzen. Dann stimmt auch das aussehen vor und nach dem call.

Oder eben dem #new_price die CSS Zuweisungen von .price ebenfalls zuordnen.

Das Problem entsteht dadurch, dass Du den Inhalt des div #new_price ersetzt und damit auch den span mit der classs .price löscht.

Alternativ könntest Du auch

Code: Alles auswählen

$&#40;json_data.update_select&#41;.html&#40;json_data.update_text&#41;; 
mit

Code: Alles auswählen

$&#40;json_data.update_select&#41;.html&#40;"<span class='price'>"+json_data.update_text+"</span>"&#41;; 
ersetzen.

Unser-Spielzeug
PostRank 4
PostRank 4
Beiträge: 142
Registriert: 28.09.2008, 19:40

Beitrag von Unser-Spielzeug » 27.01.2012, 16:21

Hammer!
Cool, und Danke für Eure Antworten, habe es jetzt, so wie ich wollte :)

Unser-Spielzeug
PostRank 4
PostRank 4
Beiträge: 142
Registriert: 28.09.2008, 19:40

Beitrag von Unser-Spielzeug » 27.01.2012, 16:27

Achso eine Sache habe ich noch :)
Wie kann ich denn noch mein Preisschild hinter der Aktualisierung erhalten?
Das wird irgendwie immer übergeblendet.

chris21
PostRank 9
PostRank 9
Beiträge: 2758
Registriert: 10.04.2005, 18:17

Beitrag von chris21 » 27.01.2012, 16:57

Liegt daran, dass es auch zum Inhalt des divs mit der id new_price gehört und der Inhalt überschrieben wird.

Quick and Dirty Lösung wäre z.B.:

hinter

Code: Alles auswählen

$&#40;json_data.update_select&#41;.html&#40;json_data.update_text&#41;; 
einfügen:

Code: Alles auswählen

$&#40;json_data.update_select&#41;.append&#40;'<img src="./images/preisschild.gif" align="absmiddle" style="margin-left&#58;10px;" width="65" height="30">'&#41;; 
Aber empfehlenswerter wäre es, den Code so genau zu trennen, dass Du den Preis updaten kannst und der Rest bleibt und nicht neu gesetzt werden muss.

Ich weiß z.B. nicht, ob das Sale Logo immer und bei jedem Produkt drin sein soll...

Unser-Spielzeug
PostRank 4
PostRank 4
Beiträge: 142
Registriert: 28.09.2008, 19:40

Beitrag von Unser-Spielzeug » 27.01.2012, 18:25

Prima :)
Habe es jetzt so eingebaut, wie du es geschrieben hast.
Funktioniert prima, reicht mir.

Wieder jemanden glücklich gemacht :)

Antworten
  • Vergleichbare Themen
    Antworten
    Zugriffe
    Letzter Beitrag