mylederhosen.com
Aktives Mitglied
WAWI 099890, Shop 3.16
Hallo zusammen,
Nachdem ich lange Zeit nach jeder Änderung an den Artikeln oder den Konfigurationen ein SQL-Script laufen lassen mußte, BEVOR die Artikel zum WebShop übertragen wurden, habe ich jetzt eine Lösung per Trigger erstellt, die außerdem den Vorteil hat, dass nicht alle Variationskombinationen erst gelöscht, und dann neu erstellt werden mußten. (Dabei habe ich immer die Preise verloren, aber dazu in einem neuen Thread)
Hier ist meine Lösung, und vielleicht lassen sich die Entwickler ja inspirieren:
Die Trigger habe sind für die Datenbank eazybusiness, bitte passt sie also an, und ich gebe keine Gewährleistung:
1. Trigger abv_copy_konfigurationen wird aufgerufen nach insert oder updaten von [tartikel] und zwar hier für die variationskombinationen.
Der Trigger kopiert alle Konfigurationen des Vaterartikels in die neue Variationskombination.
Hallo zusammen,
Nachdem ich lange Zeit nach jeder Änderung an den Artikeln oder den Konfigurationen ein SQL-Script laufen lassen mußte, BEVOR die Artikel zum WebShop übertragen wurden, habe ich jetzt eine Lösung per Trigger erstellt, die außerdem den Vorteil hat, dass nicht alle Variationskombinationen erst gelöscht, und dann neu erstellt werden mußten. (Dabei habe ich immer die Preise verloren, aber dazu in einem neuen Thread)
Hier ist meine Lösung, und vielleicht lassen sich die Entwickler ja inspirieren:
Die Trigger habe sind für die Datenbank eazybusiness, bitte passt sie also an, und ich gebe keine Gewährleistung:
1. Trigger abv_copy_konfigurationen wird aufgerufen nach insert oder updaten von [tartikel] und zwar hier für die variationskombinationen.
Der Trigger kopiert alle Konfigurationen des Vaterartikels in die neue Variationskombination.
PHP:
USE eazybusiness;
GO
IF OBJECT_ID ('dbo.abv_copy_konfigurationen','TR') IS NOT NULL
DROP TRIGGER dbo.abv_copy_konfigurationen;
GO
CREATE TRIGGER dbo.abv_copy_konfigurationen on [eazybusiness].[dbo].[tartikel]
AFTER INSERT, UPDATE
AS
DECLARE @artikelnummer as varchar(20);
DECLARE @vaterartikel as varchar(20);
BEGIN
SELECT @artikelnummer = kArtikel from INSERTED;
SELECT @vaterartikel = kVaterArtikel from INSERTED;
DELETE FROM [eazybusiness].[dbo].[tartikelkonfiggruppe]
WHERE [kArtikel] = @artikelnummer;
INSERT INTO [eazybusiness].[dbo].[tartikelkonfiggruppe]
([kArtikel]
,[kKonfiggruppe]
,[nSort])
SELECT @artikelnummer,akg.kKonfiggruppe,akg.nSort
FROM [eazybusiness].[dbo].[tartikelkonfiggruppe] as akg
where akg.kArtikel = @vaterartikel;
END
GO