Frage an die Datenbankexperten

Jan Schl.

Sehr aktives Mitglied
12. November 2006
4.337
4
Rendsburg, Hückelhoven
Habe mal nach einer Lösung für mein Anliegen gesucht. Siehe auch hier:

http://jtl-software.de/forum/viewtopic.php?t=1927

Habe da eine Erweiterung gefunden, die es mir erlaubt, bei einem jeden Artikel zu markieren "Artikel automatisch deaktivieren, wenn nicht mehr auf Lager? ja oder nein". Habe auch alles so weit eingebaut und es scheint auch zu funktionieren, aber wie kann ich mittels der Datenbank diese Funktion jetzt bei allen Artikeln starten (also die Abfrage mit JA beantworten)? Gibt es da eine Möglichkeit oder muß man in jeden Artikel einzeln rein?

Bei der Einrichtung der Erweiterung musste ich dies in der Datenbank eingeben:

Code:
ALTER TABLE `products` ADD `switch_status` TINYINT( 1 ) DEFAULT '0';

Irgendjemand eine Idee?

Gruß Jan
 

Thomas Lisson

Administrator
Mitarbeiter
24. März 2006
15.574
300
Köln
Hallo Jan,

Genau das meinte ich mit "Aufgabe des Shops". Denn nicht jeder Shopbenutzer will, dass die Produkte aus dem Angebot gebommen werden, wenn Lagerbestand <= 0.

Man müsste jetzt nur noch wissen, welchen Wert switch_status haben muss, damit das Produkt rausgenommen wird (0 oder 1).

Eine DBAbfrage, um allen Artikeln den Status zu ändern würde lauten:

Code:
Update products set switch_status=1 where products_quantity<=0

Es wäre auch ratsam dies dem Connector auch machen zu lassen.
Etwa dbeS/Artikel.php eine neue Zeile nach Zeile 155 einfügen:

eS_execute_query("Update products set switch_status=1 where products_quantity<=0 and products_id=".$products_id);

Natürlich musst Du erst herausfindne, wie dieses switch status arbeitt. Ob mit 0 der 1.
 

Jan Schl.

Sehr aktives Mitglied
12. November 2006
4.337
4
Rendsburg, Hückelhoven
Danke Dir ganz herzlich Thomas,

nein, daß nicht alle diese Funktion nutzen wollen ist klar, deshalb fragte ich ja, ob man dies in den Einstellung regeln könnte (Wollen Sie dies aktivieren Ja oder Nein).

Aber Du hattest ja Recht und ich bin auch fündig geworden. Um die Funktion anzustellen muß der Wert auf 1 stehen. Habe jetzt bereits den Standardwert in der Datenbank von 0 auf 1 geändert und neue Artikel, die über eazysales kommen haben diese Funktion somit "eingeschaltet".

Werde gleich mal Deinen Befehl in der Datenbank testen.

Gruß Jan
 

Jan Schl.

Sehr aktives Mitglied
12. November 2006
4.337
4
Rendsburg, Hückelhoven
Dein Befehl klappte wunderbar und alle Artikel haben diese Funktion jetzt aktiviert.

Leider funktioniert die Erweiterung doch nur in Verbindung mit dem checkout also in Verbindung mit einer Bestellung im Shop.

Ich brauche diese Funktion aber ganz allgemein und generell abhängig vom Warenbestand *schnüff*

Ich suche mal weiter ...

Diese Zeilen sollten entscheidend sein, oder?

Code:
$stock_query = xtc_db_query("select products_quantity, switch_status from ".TABLE_PRODUCTS." where products_id = '".xtc_get_prid($order->products[$i]['id'])."'");
und
Code:
if (( $stock_values['switch_status'] == 1 ) && ($stock_left < 1)) {
	xtc_db_query("update ".TABLE_PRODUCTS." set products_status = '0' where products_id = '".xtc_get_prid($order->products[$i]['id'])."'");
}
 

Jan Schl.

Sehr aktives Mitglied
12. November 2006
4.337
4
Rendsburg, Hückelhoven
Kann diese meine Lösung sein (ebenfalls im Connector eingetragen):

Code:
eS_execute_query("Update products set products_status = '0' where  switch_status=1 and products_quantity<=0 and products_id=".$products_id);
:?:

Nach ersten Tests sieht es aus, als wenn ich es tatsächlich geschafft haben sollte, aber eventuelle Nebenwirkungen und Spätfolgen kann ich momentan noch nicht ausschliessen.
 

Thomas Lisson

Administrator
Mitarbeiter
24. März 2006
15.574
300
Köln
HAllo Jan,

hmm, wenn ich recht überlege, brauchst Du das spezielle Tool für den Statuswechsel nicht.

Es würde ausreichen, wenn man folgende SQL Queries absetzt (im Connector an derselben Stelle, dbeS/Artikel.php nach Zeile 155):

Produkt rausnehmen (inaktiv schalten), wenn Lager <=0
Code:
eS_execute_query("Update products set products_status = '0' where products_quantity<=0 and products_id=".$products_id);

Produkt aktiv schalten, wenn Lager>0
Code:
eS_execute_query("Update products set products_status = '1' where products_quantity>0 and products_id=".$products_id);

Daher brauchst Du kein zusätzliches Feld mit switch_status. Sorry, hab es nicht auf den ersten Blick gesehen.
 

buecherbillig_de

Aktives Mitglied
12. Januar 2007
16
0
Hallo Schlitzohri,

kannst Du mir erklären?

im Connector an derselben Stelle, dbeS/Artikel.php nach Zeile 155
folgende SQL Queries einsetzen

Code:
eS_execute_query("Update products set products_status = '0' where products_quantity<=0 and products_id=".$products_id);


Auf der Zeile 155 habe ich auskommentierte Funktion insertPreiseinsertPreise

Soll ich auf der Stelle

Code:
if (intval($_POST["action"]) == 3 && intval($_POST['KeyArtikel']))
{
$products_id = getFremdArtikel(intval($_POST['KeyArtikel']));
if ($products_id>0)
eS_execute_query("update products set products_status=0 where products_id=".$products_id);
$return = 0;
}


"Update" abändern oder?

Vladimir
 

Jan Schl.

Sehr aktives Mitglied
12. November 2006
4.337
4
Rendsburg, Hückelhoven
Moin Vladimir,

so sieht der angesprochene Bereich in der Artikel.php unverändert aus.
Zeile 153 bis 161:
Code:
				//füge neuen Shippingstatus ein
				$cur_query = eS_execute_query("select max(products_vpe_id) from products_vpe");
				$max_shipping_products_vpe_arr = mysql_fetch_row($cur_query);
				$products_vpe_id = $max_shipping_products_vpe_arr[0]+1;
				eS_execute_query("insert into products_vpe (products_vpe_id, language_id, products_vpe_name) values ($products_vpe_id, $einstellungen->languages_id, \"$artikel->cEinheit\")");
			}
			eS_execute_query("update products set products_vpe=".$products_vpe_id." where products_id=".$products_id);
		}
 	}

Nach der Klammer } in Zeile 160 und vor der Klammer in Zeile 161 } fügst Du eine Leerzeile ein.

In diese Leerzeile kopierst Du folgenden Code
Code:
eS_execute_query("Update products set products_status = '0' where products_quantity<=0 and products_id=".$products_id);
eS_execute_query("Update products set products_status = '1' where products_quantity>0 and products_id=".$products_id);

Du kannst den Code rein theoretisch auch nach Zeile 156 oder so einbauen, aber so habe ich es erledigt. Einfach an entsprechender Stelle eine Leerzeile einfügen und den Code kopieren.

Hoffe, daß es jetzt verständlich war.

Gruß Jan
 

Guenter H.

Moderator
Mitarbeiter
10. November 2006
4.225
5
Styria / Austria
hallo,

habe die artikel.php nach deinen vorgaben abgeändert und sieht so aus (zeile 153 - zeile 163):

Code:
				//füge neuen Shippingstatus ein
				$cur_query = eS_execute_query("select max(products_vpe_id) from products_vpe");
				$max_shipping_products_vpe_arr = mysql_fetch_row($cur_query);
				$products_vpe_id = $max_shipping_products_vpe_arr[0]+1;
				eS_execute_query("insert into products_vpe (products_vpe_id, language_id, products_vpe_name) values ($products_vpe_id, $einstellungen->languages_id, \"$artikel->cEinheit\")");
			}
			eS_execute_query("update products set products_vpe=".$products_vpe_id." where products_id=".$products_id);
		}
eS_execute_query("Update products set products_status = '0' where products_quantity<=0 and products_id=".$products_id); 
eS_execute_query("Update products set products_status = '1' where products_quantity>0 and products_id=".$products_id);
		 	}

leider scheinen noch immer artikel mit lagerstand=0 im xtc- shop auf...
 

Jan Schl.

Sehr aktives Mitglied
12. November 2006
4.337
4
Rendsburg, Hückelhoven
Klappt es generell nicht oder nur bei einigen Artikeln nicht?

Hast Du mal versucht bei diesen Artikeln eine Kleinigkeit zu ändern, damit er sie neu aktualisiert? Preis um einen Cent ändern oder Artikelbeschreibung ...

Gruß Jan
 

Guenter H.

Moderator
Mitarbeiter
10. November 2006
4.225
5
Styria / Austria
Klappt es generell nicht oder nur bei einigen Artikeln nicht?

hm, ehrlich gesagt habe ich nur einen bestimmten artikel beobachtet.



Hast Du mal versucht bei diesen Artikeln eine Kleinigkeit zu ändern, damit er sie neu aktualisiert?

stimmt, die synchronisation war verdächtig schnell fertig. deinen vorschlag werde ich heute abend versuchen, habe derzeit keinen zugriff auf meine wawi.

danke!
 

dragonfly27

Aktives Mitglied
8. Januar 2007
40
0
AW: Frage an die Datenbankexperten

Hallo,

genau diese Erweiterung die oben erklärt wird, habe ich in einen xtc-Moified Shop Eingebaut.
Nun wollte ich den Conntector so erweitern, das er in der Tabele "dbo.Artikel" die Spalte "cLagerkleinerNull" ausliest und wenn dort Y steht den Wert 1 in die Shop Datenbank hinschreibt oder wenn N steht 0.

Es funktioniert aber nicht.

Könnte Es sein das man die Spalte "cLagerKleinerNull" gar nicht mit dem connector auslesen kann?

Gruß
Markus
 

Meikel

Aktives Mitglied
12. Oktober 2010
23
0
AW: Frage an die Datenbankexperten

Hi steelcouch,

..könntest du mir kurz erklären wo ich "(im Connector an derselben Stelle, dbeS/Artikel.php nach Zeile 155)" finde ? Ich habe noch nie am Connector was geändert aber denke wenn ich weiß, wie/wo ich die Stelle finde bekomme ich das hin mit dem Code einfügen - danke Dir im Voraus :)

Gruß
MEikel
 

Guenter H.

Moderator
Mitarbeiter
10. November 2006
4.225
5
Styria / Austria
AW: Frage an die Datenbankexperten

Hi Meikel,

sorry, der Beitrag ist mehr als 5 Jahre alt und ich habe mich seit Jahren nicht mehr mit XTC beschäftigt - was willst du denn machen bzw wo liegt dein Problem?

Ev. kann dir dann jmd anderer helfen. :)
 

Meikel

Aktives Mitglied
12. Oktober 2010
23
0
AW: Frage an die Datenbankexperten

Hab ich gesehen, dass der so alt schon ist :( aber dennoch - ich brauch halt auch grad mal sowas, dass Artikel, die nicht mehr auf Lager sind automatisch im Webshop deaktiviert werden. Darum müsste ich wissen wie und wo man den Code einfügt...kannst du dich noch dran erinnern oder kann mir wer anders helfen ??

Gruß
Meikel
 
Ähnliche Themen
Titel Forum Antworten Datum
Frage stellen bei Bestellung JTL-Wawi 1.11 1
Frage zur Speicherung der Produktbilder JTL-Wawi 1.11 1
Umstellung auf 2.0, Frage zur Auf-Abwärtskompatibilität JTL-Wawi 2.0 2
Seit dem Update meines JTL-Shops auf Version 5.7.1 funktioniert die Verbindung zwischen JTL-Wawi 2.0.4.0 und dem Shop nicht mehr. JTL-Wawi 2.0 1
Die Suche von Stücklistenartikeln/Bundles funktioniert nicht Allgemeine Fragen zu JTL-Shop 0
Neu Varianten die nicht online in JTL geschaltet sind werden trotzdem zu Shopify geladen Shopify-Connector 2
nach Update von 5.3 auf 5.7 neue Position im Warenkorb "Gebühr" die auch in den Auftrag übernommen werden Einrichtung JTL-Shop5 2
Beantwortet Aktuelles Sicherheitsupdate - wo ist die Anleitung zum manuellen Beheben? Allgemeine Fragen zu JTL-Shop 5
Wie lange braucht ihr aktuell für die Anlage eines neuen Artikels? JTL-Wawi App 3
Funktioniert die Adressvalidierung inzwischen? JTL-Wawi 2.0 1
Ameise (1.11.11.0) Export auf Clients nicht möglich - Das Dezimaltrennzeichen kann nicht die leere Zeichenfolge sein JTL-Wawi 1.11 5
Amazon FBA Umlagerungen Beta - Fehlermeldung blockiert die Umlagerung JTL-Wawi 1.11 0
Neu Hinweis zum Auftrag wird seit Update auf die 1.11 nicht mehr angezeigt JTL-WMS / JTL-Packtisch+ - Fehler und Bugs 0
Test-Kunden als solche in JTL markieren, um die Auswertungen sauber zu halten? JTL-Wawi 1.11 1
Neu Helfen Lösungen wie Unicorn wirklich, um die teuren Preise bei JTL zu vermeiden? Amazon-Anbindung - Ideen, Lob und Kritik 1
Rechnung an geänderte Emailadresse geht immer noch an die Alte (Ebay-Auftrag) JTL-Wawi 1.11 6
Neu eBay-Abgleich Fehlermeldung: Datenverarbeitung fehlgeschlagen: Die Sequenz enthält keine Elemente eBay-Anbindung - Fehler und Bugs 8
Exportvorlage: Auftrag nur Artikel die per Dropshipping verfügbar sind in Datei schreiben JTL-Wawi 1.11 4
Neu Es werden keine Marken ausgedruckt und die Portokasse lässt keine Anmeldung zu. Smalltalk 5
Neu Apple Pay über PayPal nicht zu verbinden (Die Domain-Verifizierungsdatei wurde nicht gefunden.) Technische Fragen zu Plugins und Templates 26
Nach dem Update werden die Drucker nicht mehr erkannt JTL-Wawi 2.0 1
Neu Version 1.0.11.11 (7034) Scan öffnet die Kundenauswahl JTL-POS - Fehler und Bugs 1
Für Ihren SQL-Server wurde ein Service Pack zur Verfügung gestellt - nö, gelogen, wie kriege ich die Meldung weg? JTL-Wawi 1.11 15
Neu Die Bilanz ist da Smalltalk 0
Webinar am 20.05. – Temu x JTL: Die Cross-Border-Chance, die du nicht verpassen solltest Messen, Stammtische und interessante Events 0
Amazon Rechnungslayout geändert, per IDU wird trotzdem die alte Vorlage hochgeladen JTL-Wawi 1.9 2
Neu nicht lieferbare Artikel aus Bestellung wieder auf die Einkaufsliste setzen ?! User helfen Usern - Fragen zu JTL-Wawi 1
Neu Plattformkosten auf Auftragspositionsebene in die JTL WaWi schreiben Arbeitsabläufe in JTL-Wawi 11
Neu DRIGEND HILFE!!! Ebay Abgleich endet mit Arithmetischer Überlauffehler für tinyint-Datentyp, Wert = -1. Die Anweisung wurde beendet. eBay-Anbindung - Fehler und Bugs 4
Worker läuft, zieht aber keine Aufträge in die Wawi JTL-Wawi 2.0 1

Ähnliche Themen