Joomla 5 Mitteilung

Wir freuen uns mitteilen zu können, dass seit dem 29. Januar 2024 alle unsere Joomla Erweiterungen mit Joomla 5 kompatible sind.

Für alle die gerade noch von Joomla 3 auf 4 aktualisieren: Anleitungen für die Joomla 4 Migration gibt es hier:

Es gibt nun auch eine eigenständige Dokumentation für Visforms für Joomla 4 und für Visforms auf Joomla 5

Forum

Visforms Subscription Inhaber können in unserem Forum Fragen stellen. Bitte mit dem entsprechenden Benutzer anmelden.
Jeder kann lesend auf das Forum zugreifen.

Bitte stellen Sie nur 1 Frage pro Thema.

Wichtig Angaben für fast jede Frage:
V1: Welche Visforms-Version läuft?
V2: Welche Joomla-Version läuft?
V3: Welche PHP-Version läuft?

Aufgrund von Feiertagen und Urlaub ist bei Anfragen im Forum in der Zeit vom 20. Dezember 2024 bis zum 8.Januar 2025 mit verlängerten Antwortzeiten zu rechnen.

PDF-Template / Es wird ID Nr. anstatt Ersteller Name angezeigt

Mehr
1 Jahr 5 Monate her - 1 Jahr 5 Monate her #9572 von sestec
Hallo Zusammen

Ich habe folgendes Problem;
Wenn ich im PDF-Template unter Datenauswahl den Feldplatzhalter <<Erstellt von>> kopiere und im Dokument einfüge, habe ich ${created_by}.
Wenn das PDF dann erstellt wird, erscheint mir aber nicht der Name sondern die ID Nummer vom Benutzer. Habe schone x Sachen ausprobiert, aber nicht hinbekommen. 
Welchen Platzhalter muss ich nehmen das der Benutzername im PDF erscheint? 

Liebe Grüsse
Serkan

Letzte Änderung: 1 Jahr 5 Monate her von sestec.

Mehr
1 Jahr 5 Monate her - 1 Jahr 5 Monate her #9573 von Administrator IV
Hallo Serkan,

die Feldplatzhalter unter dem Reiter 'Datenauswahl' beziehen sich auf die Tabellen-Felder der Daten-Tabelle des Formulars.
Im Tabellen-Feld 'created_by' der Daten-Tabelle der Formulare steht allein die Benutzer-ID.

Alle anderen zusätzlichen Informationen, aus anderen Tabellen in der Joomla-Datenbank, müssen mit einem eigenen SQL-Statement abgefragt werden.
Die Daten-Felder dieses zusätzlichen SQL-Statement können dann im PDF-Template verwendet werden.
Dazu gehören auch alle weiteren Informationen des Benutzers.

Hier ein Beispiel.

Ich gehe davon aus, dass du das PDF-Template direkt und ohne die fortgeschrittenen SQL-Features (Sekundäre SQL-Statements) nutzt, wie hier beschrieben.
Struktur und Arbeitsweise:
docs.joomla-4.visforms.vi-solutions.de/d...-template-structure/

1 - SQL-Statement für das PDF-Template anlegen
Definiere ein kleines SQL-Statement für das PDF-Template auf dem Reiter 'SQL-Statement', welches dir die gewünschten Benutzer-Daten aus der Joomla Benutzer-Tabelle holt:
vi-solutions.de/forum-uploads/pdf_insert-user-information.png

Das SQL-Statement wird bei der Abarbeitung des PDF-Templates für jeden Datensatz des Formulars, der verwendet wird, neu ausgewertet.
Bei der Auswertung des SQL-Statements pro Datensatz des Formulars, können auf die Felder des aktuellen Datensatz des Formulars mit Platzhaltern zugegriffen werden.
Code:
select name, username, email from #__users where id = ${item:created_by};

Wichtig dabei sind:
- item
  Ein fester Name, der sich auf den aktuellen Datensatz des Formulars bezieht.
- created_by
  Name des Datensatz-Feldes.

2 - Text mit Platzhaltern für das sekundäre SQL-Statement mittels p-Elements einfügen
Füge den gewünschten freien Text, etwa mittels eines p-Elements, in das PDF-Template ein:
Code:
<p id="user-data" class="sql">The form data was submitted and created by the following user:<br />name = ${user-data:name}<br />username = ${user-data:username}<br />email = ${user-data:email}</p>

Wichtig dabei sind:
- class="sql"
  Der Hinweis, dass hier ein SQL-Statement ausgewertet und auf die Platzhalter angewandt werden soll.
- id="user-data"
  Der Referenzname des SQL-Statements, das verwendet werden soll.
- ${user-data:name}
  Ein Platzhalter für das Select-Feld 'name' aus dem SQL-Statement mit dem Referenznamen 'user-data'.

Die Erklärungen dazu stehen ebenfalls in der Dokumentation.
Sekundäre SQL-Statements an ein HTML-Element binden:
docs.joomla-4.visforms.vi-solutions.de/d...-html-element-binden

3 - Vorschau
In der Vorschau sieht es dann so aus:
vi-solutions.de/forum-uploads/pdf_insert...ormation_preview.png

Liebe Grüße, Ingmar

:idea: I recommend you the new and up-to-date documentation for Joomla 4:
docs.joomla-5.visforms.vi-solutions.de/en/docs/
Most of this also applies retrospectively to Joomla 3.
Please only ask 1 question per topic :-).

:idea: Ich empfehle Dir die neue und aktuelle Dokumentation für Joomla 4:
docs.joomla-5.visforms.vi-solutions.de/docs/
Das meiste gilt rückwirkend auch für Joomla 3.
Bitte immer nur 1 Frage pro Thema stellen :-).
Letzte Änderung: 1 Jahr 5 Monate her von Administrator IV.
Folgende Benutzer bedankten sich: sestec

Mehr
1 Jahr 5 Monate her #9575 von sestec
Danke für Deine schnelle Antwort, aber da bin ich überfordert, ich habe es versucht zu verstehen und auszuführen, aber vergebens.

Liebe Grüsse
Serkan

Mehr
1 Jahr 5 Monate her #9576 von Administrator IV
Hallo Serkan,

das tut mir leid zu hören.
Tatsächlich sind Grundkenntnisse in den Bereichen Datenbanken, Tabellen und SQL notwendig.

Leider können wir nicht für alle möglichen Informationen, die in einem PDF-Template sinnvoll sein könnten, eigene Platzhalter hinzufügen.
Gleichzeit bleibt die beschriebene allgemeine Methode sehr mächtig, da wirklich alle Daten aus der Joomla Datenbank ins PDF integriert werden können.

Eigentlich ist das ganz einfach und eventuell hilft dir und auch anderen eine ausführlichere Erklärung direkt in der Dokumentation weiter.

Daher folgendes:

Wir sehen das als einen Mangel der Visforms Dokumentation an und werden diese um deinen Punkt entsprechend erweitern.
Ich habe dazu einen Issue zur Entwicklung für die Dokumentation angelegt:
Issue [VF-861] Forum: Docu: PDF: Add Example: Show user information

Der Issue [VF-861] ist bereits umgesetzt.
Die Dokumentation wurde um den folgenden Abschnitt erweitert.
Benutzer-Daten integrieren:
docs.joomla-4.visforms.vi-solutions.de/d...le_adding-user-data/

Ich hoffe du kommst nun weiter.

Liebe Grüße, Ingmar

:idea: I recommend you the new and up-to-date documentation for Joomla 4:
docs.joomla-5.visforms.vi-solutions.de/en/docs/
Most of this also applies retrospectively to Joomla 3.
Please only ask 1 question per topic :-).

:idea: Ich empfehle Dir die neue und aktuelle Dokumentation für Joomla 4:
docs.joomla-5.visforms.vi-solutions.de/docs/
Das meiste gilt rückwirkend auch für Joomla 3.
Bitte immer nur 1 Frage pro Thema stellen :-).

Mehr
1 Jahr 5 Monate her - 1 Jahr 5 Monate her #9581 von sestec
Hallo Ingmar

Danke für Deine Bemühungen.
Das ganze lässt mir aber keine Ruhe.
Irgendwo habe ich noch einen Knopf mit dem Item
Wenn ich das so eingebe wie du es vorgeschlagen hast, dann erhalte ich den Fehler:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'where id = ${item?}' at line 1


Wenn ich aber zum testen nur select username from #__users eingebe, sehe ich das ich 2 Einträge habe, was auch stimmt.
 

Wenn ich select username from #__users where id = '${item:created_by}'dann erhalte ich 0 Einträge
 

Liebe Grüsse
Serkan
Letzte Änderung: 1 Jahr 5 Monate her von sestec.

Mehr
1 Jahr 5 Monate her - 1 Jahr 5 Monate her #9582 von Administrator IV
Hallo Serkan,

es schaut alles richtig aus!

Der Fehler käme auch bei mir.
Den Button 'Test' kannst du nur verwenden, wenn kein Platzhalter im SQL-Statement verwendet wird.
Platzhalter im SQL-Statement werden erst zur Laufzeit der PDF-Template-Bearbeitung ersetzt.

Dieses SQL erzeugt keinen Fehler:
Code:
select name, username, email from #__users where id = 234;

Wobei der willkürliche Wert '234' die ID eines Joomla-Benutzers ist.

Dieses SQL erzeugt den Fehler:
Code:
select name, username, email from #__users where id = ${item:created_by};


Den Fehler kannst du also ignorieren.
Du entwickelst das SQL zuerst mit festen Werten und setzt erst gegen Ende die gewünschten Platzhalter ein.

Diesen Umstand werde ich im neuen Beispiel noch erwähnen.

Liebe Grüße, Ingmar

:idea: I recommend you the new and up-to-date documentation for Joomla 4:
docs.joomla-5.visforms.vi-solutions.de/en/docs/
Most of this also applies retrospectively to Joomla 3.
Please only ask 1 question per topic :-).

:idea: Ich empfehle Dir die neue und aktuelle Dokumentation für Joomla 4:
docs.joomla-5.visforms.vi-solutions.de/docs/
Das meiste gilt rückwirkend auch für Joomla 3.
Bitte immer nur 1 Frage pro Thema stellen :-).
Letzte Änderung: 1 Jahr 5 Monate her von Administrator IV.

Moderatoren: Administrator AVAdministrator IV
Powered by Kunena Forum