Freitextfeld doppelte Einträge verhindern

Hallo zusammen,

ich habe mit einem kleinen Plugin mir im Backend einen neuen TAB erzeugt und dort einige Felder hinzugefügt.

Nun würde ich gerne bei einem bestimmten Freitexfeld (Text) prüfen, ob der vom Nutzer eingegebene Inhalt in der Datenbank schon existiert um doppelte Einträge zu verhindern.

Hat jemand einen Tipp, wie ich dies abfragen kann?

 

Grüße,

Chris

Hallo chris,

da gibt es mehrere Möglichkeiten des zu verhindern. Wie elegant soll es denn werden? Quick and Dirty wäre z.b. die Spalte in der Datenbank auf unique zu setzen.

Hi,

danke, für die Antwort!

Wenn ich die Spalte auf Unique setze, speichert Shopware den Inhalt einfach nicht. Ist es dann irgendwie möglich das Speichern zu verhindern mit der Meldung Bsp.: “Diesen Inhalt gibt es schon”?

Grüße

Das müsstest du dann per Plugin machen, also auf diese Meldung reagieren und eine growl Message ausgeben.

Schau dir mal den Controller „Shopware_Controllers_Backend_AttributeData“ an. Dort könntest du die saveAction hooken. Oder du dekoriert den Service „shopware_attribute.data_persister“ entsprechend.