Objekt per PHP erstellen

Hier können Sie Fragen bezüglich des Datenbank-/Objektmoduls stellen.
WildnerDesigner
Member
Beiträge: 38
Registriert: Mi 27. Jun 2018, 16:53

Re: Objekt per PHP erstellen

Beitragvon WildnerDesigner » Mi 14. Okt 2020, 09:54

@planb: War vor dem gleichen Problem gestanden und keine Lösung hier im Forum gefunden. Habe in der Class nachgeschaut. Folgendes funktioniert mit wE9.

we_import_functions::importObject($objectClassID, $objectFields, $objectCategories, $objectFilename, true, true, 0, we_exim_ExIm::COLLISION_REPLACE);
Angaben in Klammer: Klassen-ID, Objekt-Felder, Objekt-Kategorien, Objekt-Dateiname, Veröffentlichen, Durchsuchbar, Parent-ID, Überschreiben bei gleichen Dateinamen

...

Code: Alles auswählen

// Nun kommt die wE-Funktion zum Schreiben/Import der Objekte ins Spiel
$objectClassID = "3"; // ID der Klasse, auf der unser Objekt basieren soll
$objectFields = array( // Wir befüllen unsere Objektfelder mit Variablen, die unsere Werte enthalten
	"Produktname" => $objectProduktname,
	"Hersteller" => $objectHersteller,
	"Produktbeschreibung" => $objectProduktbeschreibung,
	"Artikelnummer" => $objectArtikelnummer
);
$objectFilename = $objectFields["Artikelnummer"]; // Der Name unseres Objekts (Artikelnummer)
$objectCategories = array(); // Die Kategorien brauchen wir nicht, aber es muss trotzdem ein Array initilisiert werden
we_import_functions::importObject($objectClassID, $objectFields, $objectCategories, $objectFilename, true, true, 0, we_exim_ExIm::COLLISION_REPLACE);
...

mokraemer
Senior Member
Beiträge: 3619
Registriert: So 8. Aug 2010, 01:23
Wohnort: Mainz

Re: Objekt per PHP erstellen

Beitragvon mokraemer » Mi 14. Okt 2020, 10:44

Behalte das mal mit den Updates im Auge. Wie im Release geschrieben, ist aktuell der Import an sich kaputt. Es kann hier also durchaus noch Änderungen an der Funktionssignatur geben.
Allein diese Zeile muß/soll einen fatalen Fehler in Zukunft geben:

Code: Alles auswählen

$objectClassID = "3";
Wir sind mit WE 9 deutlich typsicherer. D.h. die Klassen-ID muß eine Zahl sein und keine Zeichenkette.
webEdition-Kern-Entwickler

WildnerDesigner
Member
Beiträge: 38
Registriert: Mi 27. Jun 2018, 16:53

Re: Objekt per PHP erstellen

Beitragvon WildnerDesigner » Mi 14. Okt 2020, 13:09

Werde ich auf jeden Fall im Auge behalten ;)

mokraemer
Senior Member
Beiträge: 3619
Registriert: So 8. Aug 2010, 01:23
Wohnort: Mainz

Re: Objekt per PHP erstellen

Beitragvon mokraemer » Mi 14. Okt 2020, 14:42

ich hab grad mal geschaut. Also die Signatur ist hier schon angepaßt:
public static function importObject(int $classID, array $fields, array $categories, string $filename, bool $publish, bool $issearchable, int $parentID = 0, string $conflict = we_exim_ExIm::COLLISION_RENAME):bool

daher müßtest du den Datentyp bei der Klasse schon jetzt anpassen...
webEdition-Kern-Entwickler

WildnerDesigner
Member
Beiträge: 38
Registriert: Mi 27. Jun 2018, 16:53

Re: Objekt per PHP erstellen

Beitragvon WildnerDesigner » Do 15. Okt 2020, 09:03

Danke, hab ich nun direkt schon mal angepasst ;)


Zurück zu „DB-/Objektmodul“

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 3 Gäste