trebuie sa ai un marker in tabelul respectiv pe care-l inlocuiesti cu output-ul functiei tale.
De exemplu, in codul urmator, in template-ul principal pun numele utilizatorului frontend logat pe care-l iau prin functia getCurrentFEuser:
// includ fisierul cu functia ce-mi trebuie;
includeLibs.functions = fileadmin/scripts/feuserFuntions.inc
// creez o 'variabila' temporara
temp.login = TEXT
temp.login{
// output-ul..
value = <p><strong>###USER###</strong></p>
// apelez functia mea care face un replace la ###USER###
postUserFunc = user_UserFunc->getCurrentFEuser
// cu ce valoare (din ce field din tabela fe_users) se va face inlocuirea.
postUserFunc.field = name
}
// apoi, daca user-ul este logat ([loginUser = *]) atribui marker-ului meu valoarea creata in temp, respectiv:
[loginUser = *]
page.10.marks.USER_NAME < temp.login
[global]
// marker-ul ###USER_NAME### pus in template-ul principal se va inlocui cu numele utilizatorului logat.
Functia, respectiv clasa aflata in fisierul feuserFuntions.inc este urmatoarea:
class user_UserFunc{
function getCurrentFeuser($content,$conf){
// iau fieldul tabelei; respectiv de unde iau valoarea de inlocuit;
// transmisa din typoscript prin: postUserFunc.field = name
$field = $conf['field'];
// daca sunt logat, at. toate datele se pun in $GLOBALS["TSFE"]
$fedata = $GLOBALS["TSFE"]->fe_user->user[$field];
// inlocuirea marker-ului cu valoarea din field
return ($fedata ) ? str_replace("###USER###",$fedata , $content) : $content;
}
}
Iar in template-ul html am marker-ul ###USER_NAME## care e inlocuit cu valoarea returnata de temp.login.
In principiu asa ar trebui sa fie si la tine, chiar daca se pare ca metodele noastre de lucru cu template-uri sunt diferite. Dar ca idee, e la fel. Sper te fi ajutat post-ul asta... :?