[Typo3-german] autor anzeigen

Johannes Goetzinger trash at 82er.de
Wed Nov 9 16:11:11 CET 2005


hallo,

vielen dank! dat funzt!
schön. nur dass ich perm_userid nehme statt cruser_id. dann zeigt er mir 
an, wer für den artikel zuständig ist.

gruß,
johannes.

Kussmann, Juergen wrote:
> Hi Johannes,
> 
> Die layout-Variable brauchst du nicht unbedingt (ich benutz sie nur, um verschiedene Layout's mit einer PHP-Funktion abdecken zu können). Wenn du die Layout-Variable nicht brauchst, dann reicht bei dir im TS auch folgendes:
> 
> 40 = TEXT
> 40.preUserFunc = user_createArticleFooter
> 
> Die $layout-Variable in der PHP-Funktion enthält den Wert des Text-Values in TypoScript. Die Variable kannst du einfach ignorieren.
> 
> Eine extrem simple PHP-Funktion wäre so:
> 
> 
>>function user_createArticleFooter($value) {
>>	global $TYPO3_DB,$TSFE;
>>
>>	// 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);
>>
>>     
>>	// create articleFooter
>>    $content = '<div class="meta">Autor: <a href="mailto:'.$creatorEmail.'">'.$creatorRealName.'</a></div>';
>>  	
>>	return $content;
>>}
> 
> 
> 
> Viele Grüsse,
> 
> 
> Jürgen Kußmann
> -----Original Message-----
> From: Johannes Goetzinger [mailto:trash at 82er.de] 
> Sent: Tuesday, November 08, 2005 3:56 PM
> To: typo3-german at lists.netfielders.de
> Subject: Re: [Typo3-german] autor anzeigen
> 
> hallo juergen,
> 
> danke. auch dafür, dass du mir deinen code zur verfügung stellst. auf 
> anhieb hat es jetzt mal nicht funktioniert. ich werde mich da morgen 
> noch mal reinknien.
> 
> eine frage vielleicht noch: wozu ist die layout-variable? ist das die 
> spalten-nr? brauch ich die unbedingt? (habe eigentlich alle inhalte 
> immer in: normal)..
> 
> gruß,
> johannes.
> 
> Kussmann, Juergen wrote:
> 
>>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