Hallo,
ich entwickle gerade eine TYPO3-Extension mit folgender Class
class [classname] extends tslib_pibase {
var $extKey = [extkey]';
var $prefixId = [prefixID];
var $scriptRelPath = [relPath];
var $pi_checkCHash = true;
var $conf = array();
var $lang = array();
var $extConf = array();
var $feUsersTca = array();
var $userId = 0;
var $contentUid = 0;
var $storagePid = 0;
public function main($content, $conf) {
...
$contentID = $this->cObj->data['uid'];
echo t3lib_div::debug($contentID);
....
$contentID soll mir die UID des jeweiligen Backend-Datarecords (in diesem Falle FE-User)liefern.
Leider klappt es nicht bzw. es wird keine UID zurückgegeben.
Kann mir bei diesem Problem jemand weiterhelfen - wäre echt super!
Beste Grüße
Hallo.
Du musst umdenken: Backend-Programmierung != Frontend-Programmierung
Vieles, was aus der Frontend-Programmierung bekannt ist, ist im Backend (ganz) anders.
Die Klasse tslib_pibase z.B. beschreibt sich selbst wie folgt: "This script contains the parent class, 'pibase', providing an API with the most basic methods for frontend plugins". Für ein BE-Plugin diese Klasse zu erweitern dürfte daher Stolpersteine mit sich bringen. Der erste ist hierbei sicherlich, dass Dir $GLOBALS['TSFE'] komplett fehlt.
Viele Grüße
Julian
Hallo Julian,
vielen Dank für deine rasche Antwort!
Da hatte ich ja einen groben Denkfehler (tslib_pibase betreffend) 🙁
Dank deines Denkanstosses habe ich die tsref erneut durchforstet und bin auf die schöne Dokumentation gestossen: https://docs.typo3.org/m/typo3/reference-tca/main/en-us/ColumnsConfig/Type/User/Index.html.
Für Leute die vor der selben oder ähnlichen Herausforderung stehen - so habe ich meine Class jetzt umgesetzt:
Auszug aus der TCA:
'[field_name]' => array (
'exclude' => 0,
'label' => '[path_to_label]',
'config' => array (
'type' => 'user',
'size' => '30',
'userFunc' => '[EXT:path]/[name_php_datei]:[name of class]->main',
'parameters' => array(
'[parameter1]' => ...,
)
),
),
class [classname] {
public function main($PA, $fObj) {
...
$data_record = $PA['row'];
$record_id = $data_record['uid'];
Vielen Dank nochmal an Julian!
Beste Grüße