[Typo3-german] autor anzeigen
Kussmann, Juergen
j.kussmann at t-online.net
Tue Nov 8 15:39:58 CET 2005
Hi Johannes,
Das gleiche Problem hatte ich auch. Einfach über TypoScript kriegst du es nicht hin, weil du über zwei Tabellen gehen musst, um den Namen des Autoren (in Tabelle 'be_user' gespeichert) zu ermitteln. In der Tabelle 'pages' steht ja nur die ID des Autoren drin.
Ich rufe in TS folgende PHP-Funktion auf:
40 = TEXT
40.value = layout = 0
40.preUserFunc = user_createArticleFooter
Die PHP-Funktion 'user_createArticleFooter' defierst du dann entweder in einer eigenen Extension in der ext_localconf.php (ist sauber) oder direkt (unschön) in deine "allgemeine" localconf.php-Datei. Der Code der Funktion sieht so aus:
function user_createArticleFooter($layout) {
global $TYPO3_DB,$TSFE;
// define Layout-Type
preg_match('/layout\s*=\s*([0-9]*)/i',$layout,$match);
$layoutType = $match[1];
// define Date of creation and last update
$createDate = date('d.m.Y',$TSFE->page['crdate']);
if(!empty($TSFE->page['SYS_LASTCHANGED'])) {
$lastUpdate = date('d.m.Y',$TSFE->page['SYS_LASTCHANGED']);
} else {
$lastUpdate = $createDate;
}
// define creator-name and -emailadress
$res = $TYPO3_DB->exec_SELECTquery('realName,email','be_users','uid='.$TSFE->page['cruser_id']);
while($row = $TYPO3_DB->sql_fetch_assoc($res)) {
$creatorRealName = $row['realName'];
$creatorEmail = $row['email'];
}
$TYPO3_DB->sql_free_result($res);
// define revisor-name and -emailadress
if(!empty($TSFE->page['author']) && !empty($TSFE->page['author_email'])) {
$revisorRealName = $TSFE->page['author'];
$revisorEmail = $TSFE->page['author_email'];
} else {
$revisorRealName = $creatorRealName;
$revisorEmail = $creatorEmail;
}
// define approver-name and -emailadress
if(1==2) {
$approverRealname = 'Mr. XXX';
$approverEmail = 'xxx at xxx.xx';
} else {
$approverRealname = '';
$approverEmail = '';
}
// create articleFooter
switch($layoutType) {
case 0:
default:
$edited = 0;
$content = '<div class="meta">Autor: <a href="mailto:'.$creatorEmail.'">'.$creatorRealName.'</a>, erstellt '.$createDate;
if($revisorRealName != $creatorRealName && $revisorEmail != $creatorEmail) {
$content .=', bearbeitet: <a href="mailto:'.$revisorEmail.'">'.$revisorRealName.'</a>';
$edited = 1;
}
if($lastUpdate != $createDate || $edited == 1) {
$content .=', geändert '.$lastUpdate;
}
if(!empty($approverRealname) && !empty($approverEmail)) {
$content .= '<br>Chefredakteur: <a href="mailto:'.$approverEmail.'">'.$approverRealname.'</a>';
}
$content .= '</div>';
break;
} // END switch
return $content;
}
Viele Grüsse,
Jürgen Kußmann
-----Original Message-----
From: Johannes Goetzinger [mailto:trash at 82er.de]
Sent: Tuesday, November 08, 2005 2:43 PM
To: typo3-german at lists.netfielders.de
Subject: [Typo3-german] autor anzeigen
hallo liste!
entschuldigung, weiß jemand von euch zufällig auf die schnelle, wie ich
den autor der seite anzeigen lassen kann!?
ich will dass da z.b. steht
zuletzt geändert am 12.11.2005 von uli meier
'zuletzt geändert' hab ich schon..
danke.
gruß,
johannes.
More information about the TYPO3-german
mailing list