Joomla 5 Notice

We are pleased to announce that as of January 29, 2024, all of our Joomla extensions are compatible with Joomla 5.

For all who are still updateing from Joomla 3 to Joomla 4: Joomla 4 Migration instructions are available here:

There is now a separate Documentation for Visforms for Joomla 4 and for Visforms for Joomla 5!

Forum

Visforms Subscription user can ask questions in our forum. Please log in with the relevant user first.
Everybody can access the forum for reading.

Please only ask 1 question per topic.

Important information for almost every question:
V1: Which Visforms version is running?
V2: Which Joomla version is running?
V3: Which PHP version is running?

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

More
1 year 4 months ago - 1 year 4 months ago #9572 by 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

  • Last edit: 1 year 4 months ago by sestec.

    More
    1 year 4 months ago - 1 year 4 months ago #9573 by 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 :-).
    Last edit: 1 year 4 months ago by Administrator IV.
    The following user(s) said Thank You: sestec

    More
    1 year 4 months ago #9575 by 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

    More
    1 year 4 months ago #9576 by 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 :-).

    More
    1 year 4 months ago - 1 year 4 months ago #9581 by 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
  • Last edit: 1 year 4 months ago by sestec.

    More
    1 year 4 months ago - 1 year 4 months ago #9582 by 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 :-).
    Last edit: 1 year 4 months ago by Administrator IV.

    Moderators: Administrator AVAdministrator IV
    Powered by Kunena Forum