Your SlideShare is downloading. ×
TYPO3 TCA benutzerfreundlich einrichten
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

TYPO3 TCA benutzerfreundlich einrichten

5,809

Published on

Vortrag zum Thema TYPO3 TCA vom TYPO3 Camp München

Vortrag zum Thema TYPO3 TCA vom TYPO3 Camp München

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
5,809
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
17
Comments
0
Likes
2
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. TCA TYPO3 Configuration Array benutzerfreundlich einrichtenPeter Schuhmann, Dynamic Lines GmbH
  • 2. zusätzliches Label immer anzeigenext_tables.phplabel => lastname,label_alt => firstname,label_alt_force => TRUE,ErgebnisPeter Schuhmann, Dynamic Lines GmbH
  • 3. Tabs verwendenext_tables.phpdividers2tabs => TRUE,tca.phptypes => array( 0 => array(showitem => hidden;;1;;1-1-1, ctype , lastname, ,--div--;Address,address, street, zip, city)),Ein Tab wird mit „--div--;<tabname>,“ deklariert. Für <tabname> kann auch auf Locallang zugegriffen werden. Wird der ersteTab nicht manuell festgelegt, wird dieser als „General“ festgelegt. ErgebnisPeter Schuhmann, Dynamic Lines GmbH
  • 4. Hidden FieldsDas TCA bietet kein direktes Feld, welches als Hidden Field deklariert werden kann. Da im TCA unter types festgelegtenFelder die Sichtbarkeit der Felder steuert, kann man das Feld, welches nicht angezeigt werden soll einfach aus der Typ-Deklaration entfernen. Mittels Hook kann das Feld dann nach wie vor beschrieben werden.BeispielEin Hidden Field kann beispielsweise genutzt werden um eine eigene Darstellung im Listen-Modul zu ermöglichen. Dieses Feldkann dann als Label für die Tabelle genutzt werden um Redakteuren den Zugriff zu vereinfachen. Beispielsweise kann so nebendem Vor- und Nachnamen auch der Firmenname mit ausgegeben werden.Peter Schuhmann, Dynamic Lines GmbH
  • 5. Types einrichtentca.php$TCA[<tabelname>] = array( ctrl => $TCA[<tabelname>][ctrl], interface => array( showRecordFieldList => hidden,firstname,lastname,address,street,zip,city,ctype ), feInterface => $TCA[<tabelname>][feInterface],columns => array(... ctype => array( exclude => 0, label => LLL:EXT:<extname>/locallang_db.xml:tx_<extname>_order.ctype, config => array( type => select, items => array(/* Label der unterschiedlichen Typen */ array(LLL:EXT:<extname>/locallang_db.xml:tx_<extname>_order.ctype.I.0,0), array(LLL:EXT:<extname>/locallang_db.xml:tx_<extname>_order.ctype.I.1,1), ), size => 1, maxitems => 1, ))...) types => array(/* Welche Felder sollen bei welchem Typen angezeigt werden (Reihenfolge entscheidend) (0 = Default) */ 0 => array(showitem => hidden;;1;;1-1-1, ctype , lastname,address, street, zip, city), 1 => array(showitem => hidden;;1;;1-1-1, ctype, lastname) ), palettes => array( 1 => array(showitem => ) ));Peter Schuhmann, Dynamic Lines GmbH ) 5
  • 6. Types einrichtenext_tables.phptype => ctype,Mit diesem Befehl wird angegeben, welches Feld für die Typumschaltung zuständig ist. Ändert sich der Wert dieses Feldes,wird die Seite neugeladen. In diesem Fall lautet der Name des Feldes ctype.ErgebnisPeter Schuhmann, Dynamic Lines GmbH
  • 7. IRREVorteilLeichte Pflege der Daten für den Anwender. Die Daten befinden sich dort, wo man sie erwartet. NachteilAngelegte Kindelemente werden in der Listenansichtangezeigt. Bearbeitet der Anwender einen Kinddatensatzdirekt, wird die Eltern-ID entfernt und der Kinddatensatzwird zum Hauptdatensatz.Peter Schuhmann, Dynamic Lines GmbH
  • 8. IRRELösungIn der Datei „typo3/class.db_list.inc“ - die für die Ausführung der Datenbankabfrage der Listenansicht verantwortlich ist -befindet sich ein Hook, mit welchem die Darstellung angepasst werden kann. Alternativ die Extension „tca_addWhere“ ausdem Repository laden (wird die nächsten Tage online gestellt).ext_localconf.php$TYPO3_CONF_VARS[SC_OPTIONS][typo3/class.db_list.inc][makeQueryArray][] =EXT:tca_addWhere/class.tx_tcaaddwhere_hook.php:tx_tcaaddwhere_hook;class.tx_tcaaddwhere_hook.php<?phpclass tx_tcaaddwhere_hook { public function makeQueryArray_post(&$queryParts, $piObj, $table, $id, $addWhere, $fieldList, $_params) { if ($table == tx_demo_domain_model_category) { $queryParts[WHERE] .= AND parentcategory = 0; } }}?> ErgebnisPeter Schuhmann, Dynamic Lines GmbH
  • 9. Treeview rendern tca.php category => array( exclude => 1, label =>XT:demo/Resources/Private/Language/locallang_db.xml:tx_demo_domain_model_course.category, config => array( type => select, foreign_table => tx_demo_domain_model_category, MM => tx_demo_course_category_mm, size => 10, Ergebnis autoSizeMax => 30, maxitems => 9999, multiple => 0, renderMode => tree, treeConfig => array( parentField => parentcategory, appearance => array( expandAll => TRUE, showHeader => TRUE, maxLevels => 999, ) ) ), ), Voraussetzung ist, dass die Tabelle tx_demo_domain_model_category auf sich selbst verweist. Peter Schuhmann, Dynamic Lines GmbH
  • 10. LinksCore Documentationhttp://typo3.org/documentation/document-library/core-documentation/doc_core_api/4.1.0/view/4/2/FeedbackPeter.Schuhmann@dynamiclines.dePeter Schuhmann, Dynamic Lines GmbH

×