Hersteller in oxorderarticles einbauen

So liebe Entwickler,
meine aktuelle Baustelle:

Ich betreibe einen Shop, bei dem es Artikel gibt, die biologisch, konventionell und wild als Eigenschaft haben. Das habe ich mithilfe des internen Hersteller Moduls von Oxid CE realisiert. Jeder Artikel hat eine Hersteller-ID, die diese Eigenschaften abdecken.
Bei der Übernahme der Bestellung in Lexware (wir nutzen oscware als schnittstelle) werden der Titel, die Kurzbeschreibung und die Variantenauswahl übernommen. Der Variantenname soll aber nicht übernommen werden. Stattdessen der Titel des Herstellers. Eine interne Änderung in der Oscware Schnittstelle ist zu aufwändig.

Nochmals mein Wunsch:
Anstatt des Variantennamens ( in oxorderarticles steht der in der Spalte oxselvariant) möchte ich den Titel des Herstellers haben.
Unter oxarticles -> oxmanufacturerid bekomme ich die eindeutige id des herstellers. Nun muss ich aber eine if-abfrage erstellen, dass wenn der artikel folgende Hersteller-Id “y” besitzt, folgender Wert"x" in die Spalte geschrieben wird.

Also, ich bin ein totaler php-Neuling, habe aber mal folgendes in die oxorder.php eingebaut, funktioniert aber nicht. Immer wenn ich die Bestellung abschicken will, gibt er mit einen Text, z.b. “konv.” in ein weißes Fenster aus.

function hersteller_bio_or_not( $hersteller_id )
{
   if ($hersteller_id == "manu_bio_1"){echo "bio";}
				elseif ($hersteller_id == "manu_konv_1") {echo "konv.";}
	elseif ($hersteller_id == "manu_wild_1") {echo "wild";}
}

 $oOrderArticle->oxorderarticles__oxselvariant = new oxField(hersteller_bio_or_not($oProduct->oxarticles__oxmanufacturerid))
  ;


Nun, wahrscheinlich ist das ein total simpler Fehler.

Vielleicht nochmal anders erklärt: Ich möchte in das Feld des Variantennamens in oxorderarticles einen bestimmten Wert, abhängig von der Hersteller-Id des Produktes eintragen.

Würde mich über Hilfe freuen.
liebe Grüße
sonnenguru

Sodele, auf die schnelle habe ich doch noch eine Lösung gefunden!!
Meine Funktion brauchte einen return :slight_smile: echo war der falsche befehl!

function hersteller_bio_or_not( $hersteller_id )
{
   if ($hersteller_id == "manu_bio_1"){return "bio";}
				elseif ($hersteller_id == "manu_konv_1") {return "konv.";}
	elseif ($hersteller_id == "manu_wild_1") {return "wild";}
}

 $oOrderArticle->oxorderarticles__oxselvariant = new oxField(hersteller_bio_or_not($oProduct->oxarticles__oxmanufacturerid))
  ;

Mh, aber jetzt wieder:
es klappt alles, aber nur wenn ich ein produkt bestelle. bei mehreren produkten geht der einkauf nicht…