Hallo Daniele
Hallo BricksForge Support Team,
ich habe ein Kompatibilitätsproblem zwischen dem BricksForge Pro Forms File Upload Feld und JetEngine Media Custom Fields festgestellt.
Da ich auf mein Forum Eintrag noch keine Antwort erhalten habe, versuche ich auf diesen Weg
Mein Setup:
- BricksForge Version: 3.1.6
- JetEngine: Aktuelle Version
- Feld-Konfiguration:
- File Upload Field Name:
new_speisekarte_pdf - JetEngine Meta Field:
speisekarte_pdf(Type: Media) - Upload to Server: Aktiviert
- Form Action: Update Post mit Meta Field Mapping konfiguriert
- File Upload Field Name:
Problem:
Wenn eine PDF-Datei über das File Field des BricksForge-Formulars hochgeladen und abgesendet wird, wird die Datei erfolgreich in die WordPress Media Library hochgeladen, aber der Wert wird nicht korrekt im JetEngine Meta Field gespeichert bzw. nicht in einem Format, das JetEngine erkennen kann.
In den Post Meta Daten ist erkennbar, dass etwas gespeichert wird, aber das JetEngine Media Field zeigt die Datei nicht korrekt an - es sieht so aus, als wären Daten vorhanden, aber sie sind nicht richtig verknüpft/verbunden.
Was ich getestet habe:
JetEngine Field auf “URL” Format → Funktioniert nicht
JetEngine Field auf “ID” Format → Funktioniert nicht
JetEngine Field auf “Both (ID and URL)” Format → Funktioniert nicht
Field Names stimmen exakt zwischen BricksForge und JetEngine überein
Form Action hat korrektes Meta Field Mapping konfiguriert
Datei wird erfolgreich in Media Library hochgeladen
Alle Einstellungen mehrfach überprüft
Wichtiger Befund:
Wenn ich JetFormBuilder mit exakt derselben JetEngine Meta Field Konfiguration verwende, funktioniert der File Upload einwandfrei und speichert korrekt.
Das deutet darauf hin, dass das Problem spezifisch mit der Art und Weise zusammenhängt, wie BricksForge die hochgeladenen Dateidaten formatiert/speichert.
Technische Analyse:
Im generierten Field-Code habe ich gesehen, dass storeAsFile: true in der FilePond-Konfiguration verwendet wird.
Möglicherweise speichert BricksForge die Datei als File-Objekt statt als Attachment-ID oder URL, was JetEngine nicht interpretieren kann.
Frage:
In welchem Format speichert BricksForge hochgeladene Dateien in Post Meta? Gibt es eine spezifische Konfiguration, ein Attribut oder einen Hook, um die Kompatibilität mit JetEngines erwartetem Datenformat sicherzustellen?
Erwartetes Verhalten:
Die hochgeladene Datei sollte in einem Format gespeichert werden, das JetEngine erkennt - entweder als:
- Attachment ID (Integer):
123 - URL (String):
https://example.com/file.pdf - Both (ARRAY):
{"id":123,"url":"https://example.com/file.pdf"}
Aktuelles Verhalten:
Das Meta Field enthält Daten, aber JetEngine kann sie nicht korrekt interpretieren oder anzeigen.
Mögliche Lösung (Vorschlag):
Wäre es möglich, eine der folgenden Optionen zu implementieren:
- Option im File Upload Feld hinzufügen:
- “Return Value Type” mit Optionen: ID / URL / Both
- Oder Custom Attribute wie
data-store-as="id"unterstützen
- Filter/Hook bereitstellen, um das Rückgabeformat anzupassen:
add_filter('bricksforge/forms/upload/return_value', function($value, $field_name) {
if ($field_name === 'new_speisekarte_pdf') {
// Konvertiere zu Attachment ID für JetEngine
if (is_array($value) && isset($value['attachmentId'])) {
return intval($value['attachmentId']);
}
}
return $value;
}, 10, 2);
- Dokumentation zur JetEngine-Kompatibilität, falls es bereits eine Lösung gibt, die ich übersehen habe.
Da dies mit JetFormBuilder problemlos funktioniert, gehe ich davon aus, dass es sich um eine Datenformat-Inkompatibilität zwischen BricksForge-Output und JetEngine-Input handelt.
Könntet ihr bitte zur korrekten Konfiguration beraten oder einen Hook/Filter bereitstellen, um sicherzustellen, dass BricksForge File Uploads in einem JetEngine-kompatiblen Format speichert?
Vielen Dank für eure Unterstützung!
Beste Grüße
David