-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

Hallo Marko.


Versuch mal folgendes in der ext_tables.php:
$TCA['tx_ddfstandard']['ctrl']['label_userFunc'] = 
'EXT:ddfstandard/class.userLabelClass.php:user_LabelClass->getUserLabel';

Dadurch würd *bei Bedarf* die Datei "EXT:ddfstandard/class.userLabelClass.php" 
nachgeladen und darin (bzw. genauer gesagt mindestens zeitlich nachdem die 
Datei geladen wurde) die Klasse "labelClass" erwartet, die eine Public-Methode 
"getUserLabel" hat.

Dadurch kannst du dir natürlich das require_once sparen, das macht TYPO 
automatisch wenn es die Label-Funktion aufrufen möchte.


Wenn dein Label btw. auf weitere spalten aus der Tabelle zugreifen soll, 
schreibst du die Spaltennamen bitte kommagetrennt nach 
$TCA['tx_ddfstandard']['ctrl']['label_alt '], dann werden die nämlich mit 
geladen, deine User-Func bekommt sie in der Row mit als Parameter und du musst 
nicht nochmal einen extra SQL-Query absetzen.


Ich könnte mir übrigens vorstellen, dass deine Tabelle "tx_ddfstandard_items" 
heißt, nicht "tx_ddfstandard_items". Dann musst du natürlich auch in 
$TCA['tx_ddfstandard_items'] arbeiten, nicht in $TCA['tx_ddfstandard'].


Wobei ich erstens in der Datei class.userLabelClass.php nicht die Klasse 
user_LabelClass sondern die Klasse userLabelClass erwarten würde und zweitens 
an sich den Klassennamen für nicht so optimal halte. Solche nichtssagenden 
Klassennamen (der TYPO3-4-Zweig kennt ja keine Namespaces) sind prädestiniert, 
dir um die Ohren zu fliegen.
Sofern Datei- und Klassennamen nur zur Demonstration hier in der Liste waren: 
Vergiss den Kommentar :).


Gruß,




Stephan Schuler
TYPO3 Entwickler

Telefon: +49 (911) 539909 - 0
E-Mail: stephan.schu...@netlogix.de

- --
netlogix GmbH & Co. KG
Systemhaus | Trainingscenter | Medienagentur
Andernacher Straße 53 | 90411 Nürnberg
Telefon: +49 (911) 539909 - 0 | Fax: +49 (911) 539909 - 99
E-Mail: mailto:i...@netlogix.de | Internet: http://www.netlogix.de/

netlogix GmbH & Co. KG ist eingetragen am Amtsgericht Nürnberg (HRA 13338)
Persönlich haftende Gesellschafterin: netlogix Verwaltungs GmbH (HRB 20634)
Umsatzsteuer-Identifikationsnummer: DE 233472254
Geschäftsführer: Stefan Buchta, Matthias Schmidt, Guido-Arndt Söldner, 
Jens-Henrik Söldner

- -----Ursprüngliche Nachricht-----


Von: typo3-german-boun...@lists.typo3.org 
[mailto:typo3-german-boun...@lists.typo3.org] Im Auftrag von "M. Graßhoff"
Gesendet: Mittwoch, 18. November 2009 10:42
An: German TYPO3 Userlist
Betreff: [TYPO3-german] Problem mit label_userFunc in ext_tables.php

Hi liebe Leute,
Ich verzweifel hier grad. ...

Vorhaben:
In der Listenansicht im Backend benötige ich ausser der normalen
Titelangaben als Label noch zusätzliche Infos aus einer anderen Tabelle.

Ansatz:
http://typo3.org/documentation/document-library/core-documentation/doc_core_api/4.2.0/view/4/2/#id4240310
Stichwort: label_userFunc -

Problem:
Meine class.user_LabelClass wird nicht included, stattdessen zeigt das
BE nichts mehr an, trotz error_reporting(E_ALL), sprich ich bekomm nicht
raus, woran es liegt.

Ich verzweifel hier grad. label_alt und label_alt_force würde
funktionieren, allerdings kann ich damit keine daten aus ner anderen
Tabelle entnehmen.
Was mache ich nur falsch? Hier ein Auszug aus ext_tables:
<?php
error_reporting(E_ALL);
require_once(t3lib_extMgm::extPath($_EXTKEY).'class.userLabelClass.php');
if (!defined ('TYPO3_MODE')) {
    die ('Access denied.');
}
//Custom Labels

// enable label_userFunc only for TYPO3 v 4.1 and higher
if (t3lib_div::int_from_ver(TYPO3_version) >= 4001000) {
$TCA['tx_ddfstandard']['ctrl']['label_userFunc'] =
"user_LabelClass->getUserLabel";
}

und hier die class.user_LabelClass:
<?
require_once(PATH_t3lib.'class.t3lib_befunc.php');

class user_LabelClass {
function getUserLabel(&$params, &$pObj) {
$id = $params['row']['uid']; //aktuelle uid
$mylabel = $params['row']['[title]']; //wie oben holen wir uns den
ersten Label

if ($id) { //zur Sicherheit...
$item = t3lib_BEfunc::getRecord('[tx_ddfstandard_items]', $id); //uid
aus Tabelle holen
//$label =
$GLOBALS['LANG']->sL('LLL:EXT:[EXTKEY]/locallang_db.xml:[XMLFRAGMENT].'.$item['[DROPDOWNWERT]']);
$label = 'test';
} else $label = '[Fehler!]';
    $params['title'] = $mylabel.', '.$label;
}
}
?>

Irgendwelche Vorschläge?? Ich wäre sehr dankbar!!

Schöne Grüße,
Marko

_______________________________________________
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german


-----BEGIN PGP SIGNATURE-----
Version: PGP Universal 2.12.0 (Build 1035)
Charset: Windows-1252

wpUDBQFLBB67pp0IwsibV8MBCKuIA/9jE8lhudWnu9XhYfzh/XIF1jxTegG4XpOI
SG7yf15xC9b7Smhq9u4s62ceuHsGyeqo2mBWyolb9UD7wZP6+l2Sy1MRgx2Jqb2d
AjoiN1ezqLXiZf1IY6vKeUjplGVXA1xSQNEFsbRG8V0H825fzRDhsHsteYz/moWw
kKBWVmkt+w==
=p6R+
-----END PGP SIGNATURE-----
_______________________________________________
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german

Antwort per Email an