Ankündigung

Einklappen
Keine Ankündigung bisher.

Userid des Profil-Inhabers in einem eigenen Skript verwenden

Einklappen
X
Einklappen
Momentan aktive Benutzer in diesem Thema: 1 (0 Benutzer und 1 Gäste)
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    [Frage] Userid des Profil-Inhabers in einem eigenen Skript verwenden

    Ich schreibe an einer kleinen Erweiterung für mein Forum. Dafür brauche ich die Userid des Profilinhabers in einem PHP-Script. Per Hook bekomme ich die Userid in ein neues Template. Ein Template will ich aber gar nicht verwenden. In einem PHP-Script kann ich nicht darauf zugreifen. Die will sich dort einfach nicht auflösen lassen.

    Der aktuelle Benutzer ist einfach:
    Code:
    $vbulletin->userinfo['userid'];
    gesucht ist aber:
    Code:
    $vbulletin->page['userid'];
    Die Page ist die Profilseite eines Users. Im Template heißt die Variable {vb:raw page.userid} oder einfach $page['userid']. Die will mir vB5 aber nicht im Modul liefern.

    Hat jemand eine Idee, wie das zu lösen ist? Die Klassen machen mich kirre . ich sehe schon doppelt.
    Zuletzt geändert von Hero; 01.02.2019, 18:17.
    https://blendpolis.de

    #2
    Im Template sind es die variablen $user['userid'] für die ID des angemeldeten Benutzers und userInfo['userid'] ist die des Profils. Diese beiden kann man in einem Templatehook an ein Template und von dort mit der API an PHP übergeben.
    Für ein Beispiel der API kannst Du das kostenlose Addon Who has read the thread anschauen.

    Die Daten page.userid sind auch über jQuery mit der Variable pageDate.userid abrufbar, sind aber immer die des aktuell angemeldeten Benutzers.
    It`s nice to be important but it`s more important to be nice!

    Kommentar


      Themenstarter
      #3
      Ich will JavaScript an der Stelle nicht einsetzen. Könnte ich auch, aber das ist ein Umweg. Ich halte das alles für Quatsch. Also von Datenbank zu PHP, von PHP zu Template , von Template zu HTML, von HTML zu JavaScript, nur, um dann damit wieder eine Datenbankabfrage zu starten. Das ist absurd. Komplizierter geht es nicht. Trotzdem Danke für den Hilfeversuch.
      https://blendpolis.de

      Kommentar


        #4
        Was genau möchtest du denn tun? Ein kleines Skript kann ja vieles sein... Aber was genau soll das Script anstoßen auf der Datenbank, vielleicht geht es ja wirklich einfacher.
        It`s nice to be important but it`s more important to be nice!

        Kommentar


          Themenstarter
          #5
          Ich habe eine Tabelle angelegt, wo Daten hinterlegt sind. Die sollen auf der Profilseite der jeweiligen User einzusehen sein. Dafür brauche ich seine Userid. Also wenn ich seine Seite besuche, sollen mir Infos über ihn angezeigt werden. Idealerweise direkt aus der Datenbank. Ich würde das mit einem PHP-Script machen, dass ich in ein PHP-Modul unter sein Profil hänge. Einen Hook gibt es an der Stelle leider nicht. Erst wieder bei den Tabs. Da will ich das aber nicht haben.
          https://blendpolis.de

          Kommentar


            Themenstarter
            #6
            Mit diesem Quatsch vertue ich jetzt über einen vollen Tag. Ich habe genug von vBulletin. Diesen Unsinn bekommt doch niemand zum Laufen.
            https://blendpolis.de

            Kommentar


              Themenstarter
              #7
              Ich habe es jetzt doch noch in PHP hinbekommen. Ich war schon soweit, das über das Template zu machen, bekam aber keine Daten aus der Datenbank. Ich habe dann $vbulletin gedumpt und mit die Profil-Userid aus $vbulletin->scriptpath extrahiert. Das hätte mir mal gleich einfallen sollen. Ich mache das (zum Glück!) zu selten. Dieses CMS kostet mich zuviel meiner wertvollen Lebenszeit.

              Im Template heißt die Variable übrigens doch {vb:raw page.userid}.
              https://blendpolis.de

              Kommentar


              • delicjous
                delicjous kommentierte
                Kommentar bearbeiten
                Ich habe Dir mal eine PM gesendet. Im Template ist die ID der Profilseite {vb:raw userInfo.userid}, habe ich gerade noch einmal geprüft. Du musst hier definitiv noch einmal prüfen ob es dein eigenes Profil oder ein "fremdes" ist.

              • Hero
                Hero kommentierte
                Kommentar bearbeiten
                Es ist definitiv die Userid des fremden Profils, die ich suche. Die eigene ist natürlich in userinfo.userid.Das habe ich längst geprüt und funktioniert auch auf meiner Seite. Aber eben jetzt rein mit PHP.

              Themenstarter
              #8
              Um das noch aufzuklären: Die Daten hätte ich auch über das Template beziehen können, wenn, ja wenn meine angelegte Tabelle in der querydefs.php definiert gewesen wäre. Ich wusste bisher nicht, dass das nötig ist, um per vB::getDbAssertor() darauf zugreifen zu können. Woher sollte man das auch wissen?

              Ich wurde letztendlich von delicjous darauf aufmerksam gemacht. Habe meine Tabelle dort eingetragen und jetzt funktioniert auch der Weg über ein Package. Danke delicjous noch einmal dafür!
              https://blendpolis.de

              Kommentar

              Lädt...
              X