Extra Feld im Admin Bereich unter Artikel verwalten/Artikel -> Artikelspezifische Einstellungen anzeigen

Hallo ich bin relativ neu hier in Oxid.
Ich hatte mir ein Modul zusammengebastelt und habe mir im Admin Bereich einen Extra Feld zusammengestellt um dort gewisse Einstellungen zu den Artikeln hinzuzufügen.
Soweit hat alles geklappt und ich kann auch meine Einstellungen vornehmen und diese werden dann auch in meiner Datenbank angezeigt.
Allerdings habe ich das Problem, dass ich z.B. Einstellungen für Artikel A vornehme, aber die Einstellungen für ALLE Artikel übernommen werden. Ich denke das hat was mit der Save Funktion zu tun. Wie genau mache ich das denn?
Ich habe in meiner Datenbank schon die Felder für die OXID, also die erstellten Einträge bzw. Einstellungen und auch schon die ArtikelID.

Ich wäre sehr dankbar wenn mir da mal einer helfen könnte

Also mit ein bischen Sourcecode wäre es einfacher :wink:
Wie sieht die Methode save(); aus? Wird der Artikel in save über die ID geladen, bevor gespeichert wird?

Ich habe derzeit noch keine Methode save();, da ich noch nicht wusste wie diese aussehen soll. Gibt es da vlt. Beispiele wo man es Step by Step machen kann?

Diese benötigst Du nur, wenn Du z.B. ein eigenes Tab mit eigenem Controller erstellt hast.

In meinem Controller habe ich derzeit eine render Methode, welche ja auch für den Tab zuständig ist

wenn du nicht viele zusätzliche Felder einfügst, würde ich sie in einem der anderen Tabs unterbringen.
Das hätte den Vorteil, dass du für die komplette Speicherung der Daten auf die standard save() Funktion zurückgreifen könnten, ohne irgendwas anzupassen.
Du musst lediglich das Feld passend bennen <input ... name="editval[oxarticles_deinfeld]" ... >

so wie hier:

> public function save(){
> 
> parent::save();
> 
> $oxid = $this->getEditObjectId();
> $aParams = oxRegistry::getConfig()->getRequestParameter('editval');
> 
> $oArticle = oxNew('oxarticle');
> $oArticle->loadInLang($this->_iEditlang, $oxid);
> 
> $oArticle->assign($aParams);
> 
> $oArticle->save();
> }