Hallo,
ich lese per Typoscript select die fe_user tabelle aus und gebe Werte per zb:
10 = TEXT
10.field = username
aus. Jetzt muss ich allerdings die uid auslesen um diese einer userfunc zu übergeben, leider haben alle meine Lösungsansätze nicht funktioniert. Ein Posting in der Mailinglist hat zum Ergebnis gehabt, daß ich in meiner userfunc per cObjectgetSingle auf die Datensätze zugreifen kann, leider ohne Erklärung wie genau im TS der Wert (in meinem Fall die uid) an die Funktion übergeben wird oder wie er ins cObject gelangt und dann in php per cObjectgetSingle ausgelesen werden kann. Vielleicht kann mir jemand einen Ansatz oder ein kleines Snippet erklären/erstellen um mein Problem zu lösen. Ich bin für jede Hilfe dankbar, da ich leider nichts finden kann.
Gruss
Boris
Hallo, ich habe jetzt folgendes nach Kommunikation mit einem Coremitglied...lol das klappt nur leider nicht. Hier mein Code:
includeLibs.usericons = fileadmin/template/php/usericons.php
temp.icons = USER
temp.icons {
userFunc = user_icons->getIcons
user = TEXT
user.data = register:fe_user_uid
}
temp.v3User = TEMPLATE
temp.v3User {
template = FILE
template.file = {$html}user.html
workOnSubpart = BODY
marks {
IMAGE < temp.userImage
NAME = TEXT
NAME.field = username
GENUSS < temp.icons
SHORT = TEXT
SHORT.field = comments
SHORT.crop = 44 | ... | 1
}
}
temp.startUser = CONTENT
temp.startUser {
table = fe_users
select.max = 3
select.where = 1=1
select.andWhere = usergroup=2
select.pidInList = 19
select.sorting = crdate
renderObj = COA
renderObj {
10 = LOAD_REGISTER
10.fe_user_uid.field = uid
20 < temp.v3User
30 = RESTORE_REGISTER
}
}
hier die zugehörige userfunc zu testzwecken:
<?php
class user_icons {
var $cObj;
function getIcons($content, $conf) {
$cObj = t3lib_div::makeInstance('tslib_cObj');
$cObj->start(array());
$result = $cObj->cObjGetSingle($conf['user'], $conf['user']);
$content .= $result;
return $content;
}
}
?>
Ich bekomme in der Ausgabe immer den Anfangsbuchstaben des Contenttyps von user...
user = TEXT -> T, user = COA -> C
also übergibt er mir nicht den aus dem Register ausgelesenen Wert. Kann mir jemand sagen was da falsch läuft?
Gruss
Boris
Spät, aber vielleicht für die Nachwelt ein Hinweis:
Hier fehlt definitiv ein Punkt am Ende des Key des zweiten Parameters. Ansonsten wird mit $conf['user'] nur der String "TEXT" (bzw. Typ des CE) übergeben, statt eines Config-Arrays, welches in $conf['user.'] steckt.
$result = $cObj->cObjGetSingle($conf['user'], $conf['user']);
Müsste sein
$result = $cObj->cObjGetSingle($conf['user'], $conf['user.']);