[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