Zum Inhalt springen

Name des Redakteur unter Beitrag ausgeben

Erstellt am 24. Januar 2007 · 26 Antworten · letzte Antwort am 25. Januar 2007 · Seite 1 von 2

Tags: Inhaltselemente, Frage

arne1101 ·

Hallo,

gibt es eine Möglichkeit den Name des entsprechenden Redakteurs unter dem jeweiligen Beitrag auszugeben? Allerdings ohne tt_news.

einfach bei normalen Seiteninhalten von tt_content.

Danke und Grüße
Arne

just2b ·

Hallo,

erweiter die tabelle tt_content um das feld cruser_id und du erhältst die ID des Backend-Users und dann mit einer user-function, die so ausschaut:

<?php

function user_name($content,$conf) {
    $where = 'uid ='.$content;
    $table = 'be_users';
    $res = $GLOBALS['TYPO3_DB']->exec_SELECTquery('realName',$table,$where,$groupBy='',$orderBy,$limit='');
$row = $GLOBALS['TYPO3_DB']->sql_fetch_assoc($res);

return $row['realName'];
}

?>

georg

arne1101 ·

Danke für die shcnelle Antwort.

Also hab das Feld angelegt, einfach als INT?!

Dann den PHP Code in einer Datei gespechert und mit

includeLibs.user_func = fileadmin/userFunc.php

inkludiert.

Wie muss jetzt die userFunc aussehen?

20 = USER
20.userFunc = user_func->user_name
just2b ·

cruser_id:

cruser_id int(11) DEFAULT '0' NOT NULL,

userfunc sah bei mir so aus:

    3 = TEXT
    3.field = cruser_id
    3.wrap = <td><strong>|: </strong>
   
    3.preUserFunc = user_name

georg

arne1101 ·
tt_cont_temp < tt_content


tt_content.text >
tt_content.text = TEMPLATE
tt_content.text {
	template = FILE
	template.file = fileadmin/TEXTdesign.html
	workOnSubpart = TEXT_NORMAL
	marks.UEBERSCHRIFT = TEXT
	marks.UEBERSCHRIFT {
		field = header
	}
	marks.TEXT =< tt_cont_temp.text.20
	
	marks.REDAKTEUR = COA
	marks.REDAKTEUR {
		10 = TEXT
		10.value = Zuletzt bearbeitet von: 
		20 = TEXT
		20.field = cruser_id
		20.wrap = <h3>|</h3>
		20.preUserFunc = user_name
	}
}

Das ist der Block wo ich das jetzt eingefüge habe.
Wenn ich so tue kommt nur die meldung "Page is being generated" und dann kommt eine weiße Seite.

Grüße
Arne

just2b ·

Hallo,

naja so einfach ists dann nicht 😉

schau dir mal das TS von css_styled_content an!
nur mal für das Contentelement Text schaut das so aus:

tt_content.text.30 = TEXT
tt_content.text.30 {
    field = cruser_id
    wrap = <strong>von:|</strong>
   
    preUserFunc = user_name

}

georg

arne1101 ·

Also ich merke gerade, wenn ich per

includeLibs.something = fileadmin/userFunc.php

den von dir gegebenen PHP Code inkludiere geht gar nix mehr.
die userFunc dazu ist noch nicht da, aber er bringt nur noch eine weiße Seite.

Jetzt blick ich gar nix mehr .... :o

just2b ·

vielleicht ein fehler in der userFunction selbst?
mal dort alles gelöscht und nur ein return 'xxx'; gemacht?

georg

arne1101 ·

bringt auch nichts #angry#

sobald ich includeLibs mache haut nix mehr hin. ich brauch jetzt erstmal nen kaffee

arne1101 ·

Also jetzt bin ich soweit das er mir ne 0 ausgibt. Das ja der Standartwert ausm cruser_id feld

includeLibs.something = fileadmin/sctips/userFunc.php.inc

.
.
.
.

tt_content.text >
tt_content.text = TEMPLATE
tt_content.text {
	template = FILE
	template.file = fileadmin/TEXTdesign.html
	workOnSubpart = TEXT_NORMAL
	marks.UEBERSCHRIFT = TEXT
	marks.UEBERSCHRIFT {
		field = header
	}
	marks.TEXT =< tt_cont_temp.text.20
	
	marks.REDAKTEUR = COA
	marks.REDAKTEUR {
		10 = TEXT
		10.value = Zuletzt bearbeitet von: 
                20 = TEXT
                20.wrap = |
                20.preUserFunc = user_name
                20.field = cruser_id
	}
}

Sieht schonmal alles so aus wie es sein soll. Nur das eben nur eine 0 zurück kommt.

Grüße
Arne

just2b ·

du musst das ganze natürlich mit einem neuen content element testen, denn die bisherigen haben ja keine cruser_id!

und steht was in der userefunction drin?

georg

arne1101 ·

Da kommt auch nur ne null. In der tabelle steht bei cruser_id auch immer nur ne 0 drin.

In der userFunc steht dein php Code.

<?php

function user_name($content,$conf) {
    $where = 'uid ='.$content;
    $table = 'be_users';
    $res = $GLOBALS['TYPO3_DB']->exec_SELECTquery('realName',$table,$where,$groupBy='',$orderBy,$limit='');
$row = $GLOBALS['TYPO3_DB']->sql_fetch_assoc($res);

return $row['realName'];
}

?>
just2b ·

erstell mal neue contentelemente und dann schau im phpmyadmin in der tabelle "tt_content", ob die user-id da auch eingetragen wird

georg

arne1101 ·

und was?

hab die über phpMyAdmin angelegt. Einfach neue spalte, dann cruder_id als name und integer und not null und defaultwert 0 ??

just2b ·

mea culpa, mea maxima culpa 😉

typo3/sysext/cms/ext_tables.php, da gehört das auch noch rein

$TCA['tt_content'] = Array (
'ctrl' => Array (
'label' => 'header',
'label_alt' => 'subheader,bodytext',
'sortby' => 'sorting',
'tstamp' => 'tstamp',
'cruser_id' => 'cruser_id',
...

georg

arne1101 ·

Kein Problem, passiert in den besten Familien.

Jetzt bekomm ich schonmal die entsprechende ID ausgegeben. 3 in meinem Falle.

Wenn du mal in KArlsruhe bist geb ich dirn Bier aus, du rettest grad nem armen Azubi das leben ^^