Objektverzeichnis während we:write erstellen

Fragen zum Erstellen von Templates für webEdition.
Benutzeravatar
Finn
Senior Member
Beiträge: 285
Registriert: Mo 3. Apr 2017, 13:37
Wohnort: Bremen
Kontaktdaten:

Objektverzeichnis während we:write erstellen

Beitragvon Finn » Mo 17. Okt 2022, 15:19

Moin Moin,
ich würde vor dem Schreiben von Objekten mit we:write gerne prüfen, ob ein Objektverzeichnis vorhanden ist und falls nicht dieses anlegen.

Bin ich richtig in der Annahme, dass es mit WE Bordmitteln nicht möglich ist Objektverzeichnisse zu erstellen?

Generell gibt es so eine Funktion wie das automatische generieren von Verzeichnissen bei Dokumenten (Definiert im Dokumenten-Typ), nicht bei Objekten, richtig?

Lieben Gruß
Finn
Finn Thorwarth
WG Werbeagentur
https://www.wg-werbeagentur.de

Benutzeravatar
blickfang
webEdition Partner
webEdition Partner
Beiträge: 812
Registriert: Mo 15. Dez 2003, 16:00
Kontaktdaten:

Re: Objektverzeichnis während we:write erstellen

Beitragvon blickfang » Mo 17. Okt 2022, 15:33

Hi Finn,
nope, gibt es so nicht. Du könntest mit path_to_id prüfen, ob du eine Ids bekommts, dann gibt es das Verzeichnis, Wenn nicht, musst du das Verzeichnis anlegen. Müsste so in diese Richtung funktionieren.

Code: Alles auswählen

$dir = new we_folder_objectFile();
$dir->we_new($parentId, (string)$name);
$dir->we_save();
VG, Timo
webEdition Partner - https://www.blickfang-media.com
Ehemals im Vorstand des webEdition e.V.

Benutzeravatar
Finn
Senior Member
Beiträge: 285
Registriert: Mo 3. Apr 2017, 13:37
Wohnort: Bremen
Kontaktdaten:

Re: Objektverzeichnis während we:write erstellen

Beitragvon Finn » Mo 17. Okt 2022, 16:15

Moin Timo,
danke für die Anregung. Allerdings prüft path_to_id nur die Dokumentenverzeichnisse oder auch Objekte?

LG
Finn
Finn Thorwarth
WG Werbeagentur
https://www.wg-werbeagentur.de

Benutzeravatar
blickfang
webEdition Partner
webEdition Partner
Beiträge: 812
Registriert: Mo 15. Dez 2003, 16:00
Kontaktdaten:

Re: Objektverzeichnis während we:write erstellen

Beitragvon blickfang » Mo 17. Okt 2022, 16:49

berechtigte Frage ;-)
die Funktion hat einen zweiten Parameter, da kann man den Table mitgeben, den man abfragen möchte

Code: Alles auswählen

path_to_id(string $path, string $table = FILE_TABLE)
Für Objekte müsste das dann OBJECT_TABLE sein

Code: Alles auswählen

path_to_id('meinpfad/such/es', 'OBJECT_TABLE')
Grüße, Timo
webEdition Partner - https://www.blickfang-media.com
Ehemals im Vorstand des webEdition e.V.

Benutzeravatar
Finn
Senior Member
Beiträge: 285
Registriert: Mo 3. Apr 2017, 13:37
Wohnort: Bremen
Kontaktdaten:

Re: Objektverzeichnis während we:write erstellen

Beitragvon Finn » Mo 17. Okt 2022, 17:33

So funktioniert es:

Code: Alles auswählen

path_to_id('/pfad/den/ich/suche', 'tblObjectFiles');
Finn Thorwarth
WG Werbeagentur
https://www.wg-werbeagentur.de

Benutzeravatar
blickfang
webEdition Partner
webEdition Partner
Beiträge: 812
Registriert: Mo 15. Dez 2003, 16:00
Kontaktdaten:

Re: Objektverzeichnis während we:write erstellen

Beitragvon blickfang » Mo 17. Okt 2022, 17:35

wenn die Table als Constante übergeben wird, sollte es auch klappen, war als String gecastet, sorry ;-)

Code: Alles auswählen

path_to_id('meinpfad/such/es', OBJECT_TABLE)
Damit bist du updatesicerer, sollte sich die Bezeichnung der Tabelle einmal ändern
webEdition Partner - https://www.blickfang-media.com
Ehemals im Vorstand des webEdition e.V.

Benutzeravatar
Finn
Senior Member
Beiträge: 285
Registriert: Mo 3. Apr 2017, 13:37
Wohnort: Bremen
Kontaktdaten:

Re: Objektverzeichnis während we:write erstellen

Beitragvon Finn » Mo 17. Okt 2022, 17:59

biwaMedia hat geschrieben: Mo 17. Okt 2022, 15:33 Hi Finn,
nope, gibt es so nicht. Du könntest mit path_to_id prüfen, ob du eine Ids bekommts, dann gibt es das Verzeichnis, Wenn nicht, musst du das Verzeichnis anlegen. Müsste so in diese Richtung funktionieren.

Code: Alles auswählen

$dir = new we_folder_objectFile();
$dir->we_new($parentId, (string)$name);
$dir->we_save();
VG, Timo
Passt, danke!
Finn Thorwarth
WG Werbeagentur
https://www.wg-werbeagentur.de

WBTMagnum
webEdition Partner
webEdition Partner
Beiträge: 1825
Registriert: Di 7. Mär 2006, 16:50
Wohnort: Wien
Kontaktdaten:

Re: Objektverzeichnis während we:write erstellen

Beitragvon WBTMagnum » Mo 17. Okt 2022, 20:52

Hey,

In einem wE8 Projekt haben wir das mit initByPath() gelöst:

Code: Alles auswählen

// get object folder or create it on the fly
$objFolder = new we_class_folder();
$objFolder->initByPath('/pfad/zum/objekt');
$objFolder->we_save();
$folderId = $objFolder->ID;
Ist der Pfad noch nicht vorhanden, wird er damit gleich angelegt. Ob das mit wE9 noch funktioniert, habe ich noch nicht probiert.


Liebe Grüße,
Sascha

Benutzeravatar
blickfang
webEdition Partner
webEdition Partner
Beiträge: 812
Registriert: Mo 15. Dez 2003, 16:00
Kontaktdaten:

Re: Objektverzeichnis während we:write erstellen

Beitragvon blickfang » Mo 17. Okt 2022, 20:58

Hey Sascha,
hab grad nachgeschaut, die initByPath gibts ind er we9 auch und ist auch public, kann also funktionieren! Das ist noch schicker als vorher selbst abzufragen. Der Folder wird laut methode angelegt wenn er noch nicht existiert und das sogar recursiv.

Als Rückgabe müsste das object zur Verfügung stehen, so dass man darüber dann auch wieder direkt die Id bekommen kann, die der Folder verpasst bekommen hat.

Gruß, Timo
webEdition Partner - https://www.blickfang-media.com
Ehemals im Vorstand des webEdition e.V.

Benutzeravatar
Finn
Senior Member
Beiträge: 285
Registriert: Mo 3. Apr 2017, 13:37
Wohnort: Bremen
Kontaktdaten:

Re: Objektverzeichnis während we:write erstellen

Beitragvon Finn » Di 18. Okt 2022, 16:57

Das wäre natürlich sexy, guck ich mir nochmal an!
Finn Thorwarth
WG Werbeagentur
https://www.wg-werbeagentur.de

Benutzeravatar
Finn
Senior Member
Beiträge: 285
Registriert: Mo 3. Apr 2017, 13:37
Wohnort: Bremen
Kontaktdaten:

Re: Objektverzeichnis während we:write erstellen

Beitragvon Finn » Mi 19. Okt 2022, 16:47

biwaMedia hat geschrieben: Mo 17. Okt 2022, 17:35 wenn die Table als Constante übergeben wird, sollte es auch klappen, war als String gecastet, sorry ;-)

Code: Alles auswählen

path_to_id('meinpfad/such/es', OBJECT_TABLE)
Damit bist du updatesicerer, sollte sich die Bezeichnung der Tabelle einmal ändern
Die Konstante geht aus irgendeinem Grund nicht...
Finn Thorwarth
WG Werbeagentur
https://www.wg-werbeagentur.de


Zurück zu „webEdition Templates erstellen (we:Tags)“

Wer ist online?

Mitglieder in diesem Forum: Ahrefs [Bot], Semrush [Bot] und 11 Gäste