ID an PopUp übergeben

  • Hallo zusammen,

    ich weiß nicht ob ich hier überhaupt mit dieser Frage so richtig bin oder ob so etwas nicht eher in ein Programmier-Forum gehört.

    Ich hab eine print Funktion geschrieben diese gibt meiner Sportler Tabelle aus.
    Funktion sieht wie folgt aus:

    Nun möchte ich eine Detail Ansicht bauen für jeden Sportler. Das ganze soll über ein DetailAnsichtFormular funktionieren.


    Der erste Schritt wäre nun die ID eines Sportlers zu bekommen wenn man mit der Maus drüber fährt (über die Tabellenzelle).
    Danach müsste diese ID an das DetailAnsichtFormular übergeben werden und das Formular dynamisch erzeugt und geladen werden.

    Kann mir jemand sagen ob so etwas möglich ist und falls ja hat jemand einen Tipp? Ich stehe auf dem Schlauch :(:(

    • Anzeige

    Hallo!

    Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.

    • ✔️ Schnelle Ladezeiten (optimiert für WordPress & Co.)
    • ✔️ Deutsche Server & DSGVO-konform
    • ✔️ Persönlicher Support (kein 0815-Ticket-System)

    Mehr erfahren

  • Warum benutzt du nicht die Methoden, die Wordpress zur Verfügung stellt? Du könntest "Sportler" als ein custom post type erstellen.

    Aber zu deiner Frage:
    Das hört sich für mich an, als ob man das mit Javascript (ajax) realisieren könnte. Jede Zeile eines Sportlers würde dann ein Hover Eventlistener bekommen und würde dann eine ajax Funktion ausführen und die Daten des Sportlers anhand der ID laden und da wo du es möchtest ausgeben.

    Oder brauchst du es genauer? :D

  • Aber zu deiner Frage:
    Das hört sich für mich an, als ob man das mit Javascript (ajax) realisieren könnte. Jede Zeile eines Sportlers würde dann ein Hover Eventlistener bekommen und würde dann eine ajax Funktion ausführen und die Daten des Sportlers anhand der ID laden und da wo du es möchtest ausgeben.

    Genau so hab ich es mir auch vorgestellt :) Okay.

    Warum benutzt du nicht die Methoden, die Wordpress zur Verfügung stellt? Du könntest "Sportler" als ein custom post type erstellen.

    Das hört sich aber ehrlich gesagt ja interessanter an. Wie genau würde das dann Funktionieren? Also müsste die Print Methode dann auch wieder geändert werden? Bekommt man damit auch die ID später ins nächste Kontaktformular geladen :rolleyes: Fragen über Fragen :D

  • Soll die ID zu einer anderen Seite übertragen werden oder soll alles dynamisch auf der gleichen Seite passieren?

    Wie du ein custom post type erstellt kannst du hier nachlesen. Ist etwas umfangreich, würde sich aber vielleicht lohnen. Dein Code würde sich ein bisschen ändern. Du würdest die Sportler nur mit einer anderen Methode laden. Und die Variablen in der while Schleife werden anders sein. Du bräuchtest dann aber noch eigene Meta Felder damit du Sachen wie Alter, Aktiv und Disziplin speichern kannst.

    Aber erst mal möchtest du ja dieses Pop-up Ding haben :)

    Was weißt du denn so über ajax? :D

  • Was weißt du denn so über ajax? :D


    Noch nicht sehr viel o_O

    Hab aber hier ein Video gefunden:

    Externer Inhalt www.youtube.com
    Inhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.
    Durch die Aktivierung der externen Inhalte erklären Sie sich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt.

    Dort erklärt er ja etwas wie man dann diese ID z. B. mit javascript / ajax antasten kann.

    Das erste Problem ist also die ID für jede Zeile zu ermitteln und das zweite Problem ist dann, wie transportiert man diese ID dann an ein neues PopUp Fenster was wieder ein Kontaktformular ist. Dieses Kontaktformular enthält dann eben zu der Sportler ID mehr Inhalt über den Sportler :)

    Danke schon mal für die nette Hilfe ;):)

  • Ich finde Wordpress kann man auch ohne Plugins selber erweitern. So wie der Code oben aussieht, ist das auch die Absicht. Zu oft sehe ich hier im Forum nur Lösungsvorschläge mit irgendwelchen Plugins...

  • Das alles kann man natürlich auch ohne Plugins in die [FONT=Courier New]functions.php[/FONT] eines eigenen Child Themes schreiben, wenn man sich etwas mit WordPress und PHP auskennt.


    Mit einer Integration der Daten in WordPress erscheinen die Sportler automatisch in der WordPress XML Sitemap, als Ergebnis über die WordPress Suche, als Möglichkeit, sie in die Menüs reinzuziehen, als Auswahl in ggf. anderen Plugins, und natürlich auch in allen WordPress API Aufrufen.

    Das ist ein WordPress Forum, daher der Hinweis wie man das üblicherweise mit WordPress angehen würde.

    PS. Und natürlich kann man die Einzelseiten auch in ein Popup einbinden, ganz simpel oder komplex.

  • Das ist ein WordPress Forum, daher der Hinweis wie man das üblicherweise mit WordPress angehen würde.

    Finde auch gut das man hier beides Diskutieren kann ;)

    Ich würde es sehr gerne selbst Programmieren. Das Problem ist, ich versuche das ganze so in der print Methode zu öffnen:

    PHP
    <td>" . '<a href="javascript:PUM.open(288);">DetailAnsicht</a>' . "</td>


    Die 288 wäre nun ein Kontaktformular das Dynamisch erstellt werden soll. Das ganze würde über die Sportler ID passieren.

    1tens wie erhalte ich die ID (javascript / ajax)
    2tens welche Methode müsste überschrieben werden dass ich die IDs überhaupt mit dem erstellten Script auch auslesen kann?
    3tens sagen wir ich hab die ID wie bekomme ich diese ID nun dem Kontaktformular übergeben, dass dieses ein SQL statment ausführt passend zur Sportler ID

    :confused::confused::confused:

    Ich komme gerade überhaupt nicht mehr weiter!

    Die nächste Frage ist ja, wie bekomme ich diese ID als Attribut an meine Methode übergeben?
    Ich hab jetzt einfach ein PopUp (PopUp Maker) erstellt. Dort den Shortcode print_MitgliederDetails eingefügt. Wie bekommt man an einen solchen Shortcode aber eine Varibale?
    add_shortcode('print_MitgliederDetails', 'print_MitgliederDetails');


    Einmal editiert, zuletzt von TeamPower (20. Dezember 2021 um 14:23)

  • Sollte mein Problem damit gelöst werden?

    Denn ich glaube alles andere wird nur zu Komplex und da ich selbst nicht viel Ahnung von javascript/ajax habe komme ich dort derzeit auch nicht weiter.
    Was ja auch noch ein Problem wäre, wie bekommt man selbst wenn man die ID hat dann in den shortcode um die Funktion aufzurufen? Derzeit habe ich das z. B. so gemacht:

    Code
    [print_MitgliederDetails id="1"]


    Somit kann ich ja über ['id'] das ganze zu meiner print Funktion als Parameter übergeben. Doch die 1 darf dort ja nicht stehen sondern muss dynamisch eben geändert werden können! Es sollte dort eine Variable stehen und das scheint wohl so nicht zu gehen.

    Hat noch jemand eine Idee? Oder ist das ganze wirklich so komplex?

  • Weiß jemand wie man in wordpress in Javascript eine php Funktion aufruft?

    Ich versuche es derzeit so:


    Der versuch sieht so aus, das ich mir die ID per Javascript geben lassen über die eine Maus fährt bzw. auf den Link denn man später Klickt. Dann soll eine php Funktion mit der ID aufgerufen werden (das muss mit Javascript passieren) und mir wird die Ausgabe in einem neuen Fenster (alert) angezeigt.

  • Glaube das wird alles zu Kompliziert :-(

    Kann mir jemand das hier vielleicht etwas besser erklären?

    Custom Post Type, ggf. mit Advanced Custom Fields (ACF), befüllen aus externer Datenbank

    Ich hab Custom Post Type geladen und mir einen Eintrag erstellt. Wie bekomme ich jetzt aber die Daten von der Datenbank dort rein?
    Hab auch ein Plugin gefunden doch das Kostet etwas :-D Vielleicht geht es ja auch so! Anders müsste ich eben das Geld ausgeben ;-)
    https://toolset.com/de/

  • Ich hab Custom Post Type geladen und mir einen Eintrag erstellt. Wie bekomme ich jetzt aber die Daten von der Datenbank dort rein?


    Mit Plugins z.B. hiermit oder hiermit oder einem ähnlichen Import Plugin.

    Ohne Plugins beispielsweise mit wp_insert_post() für die Custom Post Type Einträge i.V.m. update_field() für falls genutzt ACF Felder oder add_post_meta() für WordPress Custom Fields.

  • Mit Plugins z.B. hiermit oder hiermit oder einem ähnlichen Import Plugin.

    Ohne Plugins beispielsweise mit wp_insert_post() für die Custom Post Type Einträge i.V.m. update_field() für falls genutzt ACF Felder oder add_post_meta() für WordPress Custom Fields.

    Jetzt ist glaube bei mir der Groschen gefallen :-D

    Externer Inhalt www.youtube.com
    Inhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.
    Durch die Aktivierung der externen Inhalte erklären Sie sich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt.

    Dann sind später alle Daten in der WordPress Datenbank. Das macht aber ja so gesehen auch nichts. So könnte man einen CPT erstellen und mit add_meta_box gibt man an welche Spalten in der Tabelle später sind oder ist das jetzt auch wieder falsch?

    Was ich dann aber nicht verstehe ist wie bekomme ich dann meinen Button der ja derzeit super funktioniert zum hinzufügen von Sportlern wieder hin. Geht das dann auch mit der Methode techiepress_insert_into_ ... _cpt?

    Ich werde gleich mal versuchen einen CPT zu erstellen :-)

  • So weit läuft es nun. Hab ein eigenes Plugin geschrieben. Es ist noch ein Fehler drin bei der Ausgabe der Daten aber das ist jetzt mal kurz nicht soooo schlimm. Hab wieder ein Verständnis Problem.

    Die Seite sieht derzeit so aus:
    [Blockierte Grafik: https://i.ibb.co/qRyXC70/Unbenannt.png]

    Wie bekomme ich jetzt aber ein Mitglied hinzugefügt wenn dieser als CPT existiert? Muss ich das nicht genauso machen wie vorher, als dieser Typ noch nicht existiert hat? Also auf den Knopf Mitglied hinzufügen klicken, es öffnet sich ein Kontaktformular und wenn ich auf Senden Klicke gehen diese Informationen erneut über die Funktion: wpcf7_before_send_mail zu meiner Datenbank?

    Weil ich verstehe gerade wieder nicht wo hier jetzt der Gewinn ist :( Sry wenn ich mich so doof anstelle.
    Anders hätte ich ja auch immer noch das selbe Problem mit der Detail Ansicht. Die Ausgabe der Tabelle wäre ebenfalls wie vorher.

    Kann mir vielleicht jemand nochmals unter die Arme greifen?

  • Custom Post Type, ggf. mit Advanced Custom Fields (ACF), befüllen aus externer Datenbank

    Wie bekomme ich mit diesem Plugin die Daten aus der Datenbank geladen?

    Ich hab das ganze nun so gemacht:

    Doch dort habe ich das Problem das mir das Template kaputt geht :( den nun sieht man die Seitenleiste wieder die ich raus haben möchte!
    Muss ich ein neues Template erstellen?

    Problem 1: Seitenleiste entfernen
    Problem 2: Daten aus CPT auf eine Seite drucken
    Problem 3: Die ID eines Eintrags bekommen und zu diesem Eintrag eine Detail Ansicht öffnen

    Vielleicht nochmal ein Tipp :)

  • Welches Template WordPress wann verwendet bzw. in welcher Reihenfolge sucht, kann man in der Template Hierarchy Dokumentation nachlesen, v.a. der Visual Overview dort ist ggf. augenöffnend.

    Für die Anzeige der Daten würde man man das Archiv Template des Custom Post Types verwenden.

    Für eine Detailansicht würde man üblicherweise den Permalink des jeweiligen Einzelbeitrags verwenden und das Einzelbeitrag Template des Custom Post Types. Dort hat man über die WordPress API dann Zugriff auf alle Metadaten Felder des Einzelbeitrags, die Übergabe eines IDs ist somit nicht nötig.

    Tipp: Um bestehende Einträge bei Bedarf zu aktualisieren, gäbe es noch wp_update_post().

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!