PHP Funktion um Seiteninfos in Title zu bekommen?

chris80

Angesehenes Mitglied
Hallo,

sagt mal gibt es eine Möglichkeit mit einem ?php Befehl? Informationen in den Title Tag der Seite zu laden?

Ich nutze das Smarty Template System (Social Synapse) und das Problem das ich habe ist das jeder User den gleichen Title Tag hat, was natürlich mehr als suboptimal ist...
 
Klar, mit echo.
Optimalerweise in Kombination mit Variabeln.
cool.gif
 
www.smarty.net

{include file="header.htm title="Mein Title"}

in header.htm machst du dann folgendes:

<title>{$title}</title>
 
Hey Tony,


es hat nicht so ganz funktioniert.

Jetzt wird generiert was ich in "Mein Titel" schreibe. Ich brauche aber eine Funktion die automatisch den Titel dynamisch generiert z. B. den Usernamen aus der Seite. Denn ich benötige ja unterschiedliche Seitentitel.

Beim Forum funktioniert es auch, dort wird der Name des Topics im Page Titel angezeigt. Nur leider bin ich kein PHP Profi und kenne mich nicht aus mit den Variabeln die ich probieren kann....
 
Erst einmal: Es gibt keine Universalfunktion, die dir immer bequem dynamische, passende Titel erstellt. Wenn du solche Titel haben willst, dann musst du die für jede Klasse von Seiten recht abstrakt festlegen, z.B. bei Profilseiten in der Art "<title>Profil von {$username}</title>", beim Forum wiederum z.B. "<title>{$threadTitle} - {$countPosts} Antworten</title>". Dafür musst du wissen, welche Variablen vorhanden sind und gegebenenfalls neue dem Template zuweisen. Welche Variablen vorhanden sind kannst du herausfinden, indem du das restliche Template durchschaust (nach {$variablenname} bei SMARTY suchen) oder indem du einen Blick in den Code wirfst ( $tpl->assign('variblanname', $variablenwert) ). Wenn du großes Glück hast, dann haben Programmierer evt. an den Anfang des Templates geschrieben, welche Variablen verfügbar sind. Aus deinen bisherigen Antworten lese ich allerdings heraus, dass die offenbar nicht so clever waren...

Einmal exemplarisch das Vorgehen für Profilseiten:
1. Schau dir das Template für die Profilseiten an. Gibt es da überhaupt einen Bereich <head></head> mit Title drin? Falls nein richtet man nämlich eher Schaden an wenn man den Head-Bereich mit Title einfach hinzufügt, da er bereits an anderer Stelle generiert wird. Hat Social Synapse überhaupt irgendwo dynamische Titel? Falls nein, dann könnte es entsprechend sein, dass das Einrichten dynamischer Titel schwer bis fast unmöglich werden dürfte.
2. Falls im Profil-Template ein Head-Bereich vorhanden ist, dann sollte es deutlich einfacher werden: In diesem Fall musst du entscheiden, wie der Titel ungefähr aussehen soll und entsprechend nach passend klingenden Variablen suchen. Vermutlich würde in einem Profil-Template irgendwo eine Variable der Art {$username} verwendet werden, oder auch eine User-Klasse, mit deren Hilfe man dann den Benutzernamen abfragen kann (in der Art {$userClass->getUserName()}). Diese Variablen müsstest du dann entsprechend für den Title verwenden.
3. Falls im Template die passenden Variablen nicht vorhanden sind, dann kann man diese auch im Code zuweisen, in der Art $tpl->assign('variblenname', $variable). Dafür müssen die Variablen allerdings wiederum generiert werden und das wirst du ohne PHP-Wissen kaum schaffen.
 
ich hab auch ein Problem mit dem Title / Smarty bei einem Socialengine Projekt. Und zwar folgendes:

Der Title setzt sich zusammen aus:

(Artikel-Titel) - Projektname

Jetzt erscheint auf der Startseite natürlich "- Projektname", weil es keine Artikel Variable gibt und normale PHP If Conditions erlaubt das Smarty nicht.

Im Code sieht das z.B. so aus:

CODE <title>{$article->article_info.article_title} - {lang_print id=642}{if $global_page_title != ""} - {lang_sprintf id=$global_page_title[0] 1=$global_page_title[1] 2=$global_page_title[2]}{/if}</title>



Wie bekomm ich das "-" auf der Startseite oder auf sonstigen Seiten ohne Article Titel mit einem Hack weg?

Grüsse

Martin
 
Zurück
Oben