Hallo,
IMO geht das nicht
georg
Hallo,
IMO geht das nicht
georg
Hi Georg,
danke für die schnelle Antwort! 😢
Das hatte ich mir fast schon gedacht!
Du kannst mir aber sicher sagen in welcher Reihenfolge sich die Showitems intern zusammensetzen!? Ich habe nämlich folgendes Problem.
Die fe_users wurde durch die Installation von tt_products sowie einer eigenen Extension um einige Felder erweitert. Nun würde ich gerne zumindest die Reihenfolge aller Felder ändern. Da keine weiteren Felder mehr dazukommen, darf es auch Quick&Dirty sein.
Ich habe in der tca.php meiner eigenen Extension noch folgenden Code eingefügt:
(gekürzt)
$TCA['fe_users']['types'][0]['showItem']= 'username;;;;2-2-2,password,salutation,first_name,last_name,tt_products_creditpoints';
Dieser Code bewirkt jedoch rein gar nichts!
Vermutlich wird der Array an anderer Stelle wieder überschrieben.
Wie kann ich zuverlässig den Array überschreiben?
Viele Grüße
Jan
installier deine extension als letztes
georg
Ich hab den Codeschnipsel in die ext_tables.php gepackt und die Extension neu installiert. Jetzt funzt es!
Vorher sollte übrigens der Cache in /typo3conf gelöscht werden!
Dabei ist die Datei "temp_CACHED_XXXXX_ext_tables.php" übrigens sehr interessant. Sie zeigt in welcher Reihenfolge die einzelnen ext_tables.php geladen werden.
Vielen Dank!
Gruß Jan
Also nochmal zurück. Das letzte Posting war Blödsinn. Sorry.
Ich hab dummerweise einen Datensatz der Tabelle sys_products_orders angeklickt. Dieser sieht (abgesehen von den Benutzergruppen) schon ziemlich genauso aus wie der fe-users Datensatz aussehen sollte.
Hier mal die zwei wichtigen Dateien meiner Extension:
ext_tables.php
<?php
if (!defined ('TYPO3_MODE')) die ('Access denied.');
$tempColumns = Array (
"tx_myextension_firstname" => Array (
"exclude" => 1,
"label" => "LLL:EXT:medtronikusers/locallang_db.xml:fe_users.tx_medtronikusers_firstname",
"config" => Array (
"type" => "input",
"size" => "30",
)
),
"tx_myextension_lastname" => Array (
"exclude" => 1,
"label" => "LLL:EXT:medtronikusers/locallang_db.xml:fe_users.tx_medtronikusers_lastname",
"config" => Array (
"type" => "input",
"size" => "30",
)
),
"tx_myextension_job" => Array (
"exclude" => 1,
"label" => "LLL:EXT:medtronikusers/locallang_db.xml:fe_users.tx_medtronikusers_job",
"config" => Array (
"type" => "input",
"size" => "30",
)
),
"tx_myextension_newsletter" => Array (
"exclude" => 1,
"label" => "LLL:EXT:medtronikusers/locallang_db.xml:fe_users.tx_medtronikusers_newsletter",
"config" => Array (
"type" => "check",
)
),
);
t3lib_div::loadTCA("fe_users");
t3lib_extMgm::addTCAcolumns("fe_users",$tempColumns,1);
t3lib_extMgm::addToAllTCAtypes("fe_users","tx_myextension_gender;;;;1-1-1, tx_myextension_firstname, tx_myextension_lastname, tx_myextension_job, tx_myextension_clinic, tx_myextension_newsletter");
//Reihenfolge der Items in fe_users anpassen - Das funzt schon mal nicht!
$TCA['fe_users']['types'][0]['showItem']= 'username;;;;2-2-2, password, usergroup, lockToDomain, --div--, name;;2;;3-3-3, tx_myextension_firstname, tx_myextension_lastname, address, zip, city, country, telephone, fax, email, tx_myextension_job, tx_myextension_newsletter, www, image;;;;4-4-4, --div--, TSconfig;;;;5-5-5, tt_products_creditpoints;;;;1-1-1, tt_products_vouchercode;;;;1-1-1, tt_products_memoItems;;;;1-1-1, tt_products_discount;;;;1-1-1, tt_products_vat;;;;1-1-1';
?>
und die tca.php
<?php
if (!defined ('TYPO3_MODE')) die ('Access denied.');
$TCA['fe_users']['types'][0]['showItem']= 'username;;;;2-2-2, password, usergroup, lockToDomain, --div--, name;;2;;3-3-3, tx_myextension_firstname, tx_myextension_lastname, address, zip, city, country, telephone, fax, email, tx_myextension_job, tx_myextension_newsletter, www, image;;;;4-4-4, --div--, TSconfig;;;;5-5-5, tt_products_creditpoints;;;;1-1-1, tt_products_vouchercode;;;;1-1-1, tt_products_memoItems;;;;1-1-1, tt_products_discount;;;;1-1-1, tt_products_vat;;;;1-1-1';
?>
Nach einer Neuinstallation der Extension ändert sich die Reihenfolge in der Listenansicht aber nicht.
Die Datei tca.php wird aber immer automatisch geladen? Oder muss ich die noch irgendwo einbinden?
Gruß Jan
um was zu modifizieren brauchst du es in einer ext_tables.php.
du kannst dir ja auch einfach dort das TCA ausgeben lassen vor/nach der modifikation
georg
wie gibt man das tca vor und nach der modifikation aus?
ein einfaches print_r funktioniert nicht...
sollte schon bzw probier mal ein
$GLOBALS['TCA']....
georg
Natürlich hast Du recht...
Wenn man den Code in die ext-tables.php packt und nicht in die tca.php gehts natürlich.
Der Tipp mit Vorher/Nachher war dennoch Gold wert!
In dem obigen Code ist ein Schreibfehler. Es heißt showitem und NICHT showItem.
Da hab ich wohl irgendwo einen fehler per copy&paste übernommen!
Vielen Dank für Deine Hilfe!!!!
Gruß Jan
schön wenns funkt 😉
georg