Attribute editieren problem

Du hast ein PHP-Code Problem und benötigst Hilfe bei der Lösung
Antworten
Rainer
Beiträge: 102
Registriert: Sa 5. Feb 2011, 10:17
Shop Version: 1.0.14

Attribute editieren problem

Beitrag von Rainer »

HAllo,


ich nutze ja die jtlwawi und habe jetzt folgendes Problem. Für die Grundpreisdarstellung habe ich mir einige zusätzliche Felder in der DB eingebaut und auch in der new_attributes ergänzt.

Wenn ich jetzt diese Felder über editieren Attribute fülle, verliert jtl die verknüpfung, da anscheinend ein neuer DB eintrag geschrieben wird.

Fülle ich die Felder direkt über phpmyadmin bleibt das ganze erhalten.

Ist das jetzt ein Bug oder feature?
Freundlich grüßt

Rainer
Xantiva
Beiträge: 948
Registriert: Mo 10. Mai 2010, 16:26
Shop Version: 1.0.10 [dev]
Kontaktdaten:

Re: Attribute editieren problem

Beitrag von Xantiva »

Da ich meine Glaskugel verlegt habe und nicht sehen kann, was Du alles gemacht hast und nicht weiß, wie die JTL Wawi die "Verknüpfung" generiert ...

... ist es schwierig auf diese Frage zu antworten ;)
Mein Shop: http://www.basteln-selbermachen.de
Rainer
Beiträge: 102
Registriert: Sa 5. Feb 2011, 10:17
Shop Version: 1.0.14

Re: Attribute editieren problem

Beitrag von Rainer »

Hallo,

also
normalerweise erfolgt die Verwaltung der Attribute über jtl. Habe für die Grundpreise mir 3 Felder in der DB angelegt. diese werden nicht durch jtl gepflegt oder gefüllt. Wenn ich jetzt diese Felder füllen will passiert folgendes:
Wähle Produkt xy aus und sage attibute editieren

Produkt xy mit Attributen Nr. 2781/2782/2783

Ändere ich jetzt ein Feld und klicke auf speichern sieht die DB so aus:

Produkt xy mit Attributen Nr. 2784/2785/2786

2781-83 wurden gelöscht! d.h. es wird kein update sondern ein insert und delete gemacht.
jtl hat aber eine Verknüpfung zu den durch jtl angelegten Attributen 2781-83.
Beim Webshopabgleich wird jetzt nur noch der Basisartikel angezeigt und nicht mehr die gekaufte Variation mit Preisaufschlag.


in der new_attributes_change.php steht noch folgendes:

// I found the easiest way to do this is just delete the current attributes & start over =) und steht so bei vielen anderen Forks auch noch drin!
Freundlich grüßt

Rainer
Xantiva
Beiträge: 948
Registriert: Mo 10. Mai 2010, 16:26
Shop Version: 1.0.10 [dev]
Kontaktdaten:

Re: Attribute editieren problem

Beitrag von Xantiva »

Läuft da nicht die Verknüpfung mit der JTL Wawi über die Artikelnummer der Attribute? Die sollten sich doch nicht verändern.
Mein Shop: http://www.basteln-selbermachen.de
Rainer
Beiträge: 102
Registriert: Sa 5. Feb 2011, 10:17
Shop Version: 1.0.14

Re: Attribute editieren problem

Beitrag von Rainer »

die speichern auch die products_attributes_id und holen sich darüber die Bezeichnung und Aufpreis
Freundlich grüßt

Rainer
Rainer
Beiträge: 102
Registriert: Sa 5. Feb 2011, 10:17
Shop Version: 1.0.14

Re: Attribute editieren problem

Beitrag von Rainer »

Hallo,


hat schon jemand die new_attributes_change.php umgeschrieben?
Freundlich grüßt

Rainer
Rainer
Beiträge: 102
Registriert: Sa 5. Feb 2011, 10:17
Shop Version: 1.0.14

Re: Attribute editieren problem

Beitrag von Rainer »

Hallo,

ich habe den insert in einen Update umgebaut

Code: Alles auswählen

xtc_db_query ("Update ".TABLE_PRODUCTS_ATTRIBUTES." Set '" 
		 .options_values_price . "'= '" . $value_price . "', '" 
		 .options_values_basic_price_unit . "'='" .$value_basic_price_unit. "', '"
		 .options_values_basic_price_div . "'='" .$value_basic_price_div . "', '"
		 .options_values_basic_price_mul. "' = '" .$value_basic_price_mul. "', '"
		 .price_prefix ." '= '" .$value_prefix. "', '"
		 .attributes_model."' ='" .$value_model . "', '"
		 .attributes_stock."' ='" .$value_stock. "', '" 
		 .options_values_weight."' ='" .$value_weight. "', '"
	   	.weight_prefix. "'='" . $value_weight_prefix . "', '"
 		.sortorder. " '= '" . $value_sortorder.  "',  where  '".products_id."' = '" .$_POST['current_product_id'].  "' and '".options_id. "' ='" .$optionsID . "' and '" .options_values_id . "'= '" .$_POST['optionValues'][$i]. "'") or die(mysql_error());
aber ich erhalten immer folgende Felhlermeldung sowohl lokal als auch online.
  • D:\Programme\xampp\htdocs\htmlrsaqua\admin\includes\modules\new_attributes_change.php:79
    1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''options_values_price'= '0', 'options_values_basic_price_unit'='Liter', 'options' at line 1
    Update products_attributes Set 'options_values_price'= '0', 'options_values_basic_price_unit'='Liter', 'options_values_basic_price_div'='0.0000', 'options_values_basic_price_mul' = '0.0000', 'price_prefix '= '+', 'attributes_model' ='RM0055', 'attributes_stock' ='-1', 'options_values_weight' ='0.0000', 'weight_prefix'='+', 'sortorder '= '0', where 'products_id' = '34' and 'options_id' ='2' and 'options_values_id'= '22'
Freundlich grüßt

Rainer
Rainer
Beiträge: 102
Registriert: Sa 5. Feb 2011, 10:17
Shop Version: 1.0.14

Re: Attribute editieren problem

Beitrag von Rainer »

Habs jetzt doch noch hingebracht:

Code: Alles auswählen

xtc_db_query ("Update ".TABLE_PRODUCTS_ATTRIBUTES." Set " 
		 .options_values_price . "= " . $value_price . ", " 
		 .options_values_basic_price_unit . "='" .$value_basic_price_unit. "', "
		 .options_values_basic_price_div . "=" .$value_basic_price_div . ", "
		 .options_values_basic_price_mul. " = " .$value_basic_price_mul. ", "
		 .price_prefix ." = '" .$value_prefix. "', "
		 .attributes_model." ='" .$value_model . "', "
		 .attributes_stock." ='" .$value_stock. "', " 
		 .options_values_weight." =" .$value_weight. ", "
	   	.weight_prefix. "='" . $value_weight_prefix . "', "
 		.sortorder. " = " . $value_sortorder.  "  where  ".products_id." = " .$_POST['current_product_id'].  " and ".options_id. " =" .$optionsID . " and " .options_values_id . "= " .$_POST['optionValues'][$i]. "") or die(mysql_error());
Freundlich grüßt

Rainer
Rainer
Beiträge: 102
Registriert: Sa 5. Feb 2011, 10:17
Shop Version: 1.0.14

Re: Attribute editieren problem

Beitrag von Rainer »

Hallo xantiva
Hallo yogi,

nur mal so eine Frage: Wollt Ihr nicht den alten Insert-SQL in der new_attributes_change.php durch den Update ersetzen (müsste man ja nur meine speziellen Felder entfernen und ggf meine Wenigkeit im Hinweistext der php egänzen).

Dadurch ist es möglich eigene Attributsfelder (Felder in JTL nicht vorhanden) im Backend zu pflegen und die Verknüpfung von JTL zum shop geht nicht verloren.

Habt Ihr den SQL schon mal getestet? Bei mir funktioniert er soweit.
Freundlich grüßt

Rainer
yogi
Administrator
Beiträge: 292
Registriert: Do 6. Mai 2010, 14:16
Shop Version: die aktuelle
Wohnort: Köln
Kontaktdaten:

Re: Attribute editieren problem

Beitrag von yogi »

Hallo Rainer,

nach Deiner Modifikation kann man zwar die Attribute ohne ID-Verlust anpassen, jedoch keine mehr hinzufügen oder gar löschen...

werde mir das aber mal anschauen...

Gruß Yogi
Antworten