CMS Seite mit Template Unterstützung

  • Guten Tag zusammen,


    ich habe eine Frage bezüglich Woltlab Seiten.

    Wie ist es möglich, dass Seiten (CMS Seiten über das ACP) Templates unterstützen bzw. bestimmte Templates anfragen?

    Und zwar habe ich aktuell eine Art Managment Seite erstellt bei der die Mitglieder der Leitung mit Avatar, Banner, Rang und anderen Infos aufgelistet sind. Leider muss ich aktuell die Seite selbstständig aktualisieren. Hier wäre es natürlich super, wenn ich dafür einfach ein Template erstellen könnte um dort Abfragen einzufügen. So könnte ich das ganze automatisieren, damit ich bei einem Avatarwechsel als Beispiel nicht jedes mal die Seite manuell ändern müsste.


    Ich hoffe hierbei kann mir wer helfen.


    Mit freundlichen Grüßen

    TheRockZzDe

  • Hab ich, aber wie wird dann erkannt, welches Template zu welcher Seite gehört?

    Weil Variablen aus Templates kann ich da nicht rein schreiben. Bekomme dann nur Errors.

  • Ich habe Testweise versucht, den Gesamtcode aus einem Template dort reinzupacken.

    Das aber immer ohne Erfolg.


    Wie gesagt möchte ich eigentlich nur eine ID eines Users als Beispiel angeben und dann automatisch den Userprofil Link, den Useravatar und das User Titelbild auf der Seite bekommen.

    Das soll wie gesagt automatisch passieren.

  • Userprofil Link

    Code
    <a href="{link controller='User' object=$__wcf->user}{/link}" class="jsTooltip" title="zu deinem Profile, {$__wcf->user->username}">{$__wcf->user->username}</a>


    Useravatar

    Code
    {@$__wcf->getUserProfileHandler()->getAvatar()->getImageTag(96)}
  • Das zeigt dem jeweiligen User seine eigenen Daten. Das möchte ich aber nicht. Ich möchte einen Link festlegen FÜR einen User. Da sind 10 User auf der Seite und bei jedem soll der aktuelle Avatar, der aktuelle Profillink und das aktuelle Titelbild zu sehen sein. Zudem der aktuelle Userrang. Dafür brauche ich die Codes.

    Am allerbesten wäre es aber, wenn ich die ID des Users nur einmal eingeben müsste, und der dann dadurch automatisch die Infos bezieht.

  • Ich weiß leider nicht direkt wie man die ID dort mit übergibt bzw dann nur User X ausgibt. Müsste man sich vllt mal das Template der Mitgliederliste anschauen oder so.

  • Ich habe leider keine Kenntnisse in PHP. Bin aber auch grad etwas verwirrt dass du ein Plugin von SoftCreatR erwähnst und deins einfügst. Weiß jetzt nicht von welchem Plugin von SoftCreatR die Rede ist.

    Da ich aber keine PHP Kenntnisse in PHP habe, wollteich das in Html mit Template Variablen lösen. Dachte zu Anfang, dass ich die Variablen auch selber hinbekommen würde.

  • Äh ups. Meinte das Plugin, dass ich bereits erwähnt hatte. Ich meinte eigentlich "im Beitrag von SoftCreatR". Theoretisch hat er das aber sowieso übernommen^^


    Du musst ja die Informationen vorher irgendwo (-> Datenbank) auslesen. Das kannst du mit reinem Template-Code nicht machen. Daher ist PHP notwendig, mit dem du die Informationen von PHP an das Templatescripting weitergeben kannst.


    Welche Informationen willst du denn in deinem neuen Template wiedergeben? Vielleicht kann ich dir auch mit dem Code aushelfen.


    Du meintest vorher:

    Da sind 10 User auf der Seite und bei jedem soll der aktuelle Avatar, der aktuelle Profillink und das aktuelle Titelbild zu sehen sein


    Sind das 10 Benutzer mit einer festen ID oder willst du die Benutzer dynamisch auslesen, weil sie beispielsweise alle in einer bestimmten Benutzergruppe sind.

  • Kann sein dass ich das falsch verstehe, aber machen das vorhandene Templates nichts auch so? Ohne die Datenbank auszulesen? Oder irre ich mich da?


    Was ich vorhabe:

    Ich selber möchte User angeben, bzw. deren IDs und dadurch sollen an den Stellen die ich möchte z.B. Avatar oder Titelbild des Users mit der zuvor angegebenen ID angezeigt werden. Am Besten wäre es natürlich, einmal die UserID anzugeben und dann die 4,5 Details automatisch zu bekommen.

    Aber es reicht auch wenn ich bei 4,5 Details 4,5 mal die ID angeben muss. Hauptsache es ist automatisch, dass wenn der User seinen Avatar ändert als Bsp., dass dieser sich auch auf meiner Seite ändert.

    Die Auflistung und Beschreibung möchte ich selbst machen, aber Sachen wie Avatar, Titelbild, Name soll eig. automatisch sein.

  • Hier ist mal ein Beispiel:


    1. Installiere Plugin "PHP in Seiten"

    2. Erstelle neue Seite über das ACP mit dem Typ "Template"

    3. Füge folgenden Code bei PHP ein:

    Die IDs in der Variable $userIDs kannst du dann austauschen. Beispiel für User mit IDs 20, 25 und 30: $userIDs = [20, 25, 30];


    4. Füge folgenden Code bei Template ein:

    Smarty
    {foreach from=$customViewUsers item=customViewUser}
    <p>{@$customViewUser->getAvatar()->getImageTag(96)} <a href="{link controller='User' object=$customViewUser}{/link}" class="jsTooltip" title="zu deinem Profile, {$customViewUser->username}">{$customViewUser->username}</a></p>
    {/foreach}


    Das ist zwar nicht schön formatiert, aber gibt den Benutzer mit Avatar aus, für jede ID die du oben angegeben hast.

  • Danke für die Hilfe schonmal, ich hab jetzt länger nichts damit gemacht, daher die späte Antwort.

    An sich ist dein Code super, allerdings ist mir aufgefallen, dass ich irgendie die generierten Links dazu brauche da ich sonst alles irgendwie neu schreiben müsste. Ich habe halt einen fertigen HTML und CSS Code und würde da am liebsten einfach Variablen einsetzen die dann in der Live Version durch die passenden Links ersetzt werden.

    Als Beispiel habe ich folgenden Code da stehen:

    Code
    <img class="team-avatar" src="https://flashpoint-reloaded.eu/images/avatars/59/19-5902b256115aae7188230f291203880175a5fbdc.png">

    und würde am liebsten irgendwie sowas dort stehen haben:

    Code
    <img class="team-avatar" src="{@$customViewUser->getAvatar()->getImageTag(96)}">

    Das das obere nicht funktioniert weiß ist, sollte nur ein Bsp. sein.


    Am Besten auch dass ich bei den Variablen selbst jedes mal die ID des Users angeben muss. Ich wollte das zuvor anders, ich glaube dass es so aber einfacher ist.

    Ich hoffe auch hier kann mir wer weiterhelfen.

    Trotzdem nochmal danke für die bisherige Hilfe und ich wünsche allen eine gute Gesundheit. Erstrecht wegen der aktuellen Lage.