Zum Inhalt springen

Keine Eingabefelder im Backend beim Ändern von Datensätzen

Erstellt am 26. Januar 2007 · 5 Antworten · letzte Antwort am 6. Februar 2007

Tags: TCA, Frage

iomorph ·

Hallo,

ich habe eine simple Extension im Kickstarter erstellt, die mir erst mal einfach nur eine Länderliste erstellt.

Wenn ich nun im Backend Länder über "neuen Datensatz anlegen" einfüge, werden diese zwar danach ordnungsgemäß angezeigt, wenn ich sie aber bearbeiten will, kommt ein leeres Formular ohne Feldelemente.

Passiert mir zum ersten mal, bin planlos.

Ist mit der neuen Typo3-Version vielleicht irgend etwas anders? Oder kann es an falsch gesetzten Verzeichnisrechten liegen? Ich bekomme jedenfalls keine Fehlermeldung.

Ganz vielen Dank für die hoffentlich kommende Hilfe

Karin

iomorph ·

Hallo Steffenk,

ich bin Admin und habe jetzt vorsichtshalber auch alle Felder bei den Zugriffsrechten dazu geschaltet. Ich bekomme aber trotzdem keine Felder zum Bearbeiten angezeigt (den Cache habe ich auch vorher geleert).
Auch wenn ich einen neuen Datensatz eintrage wird nach dem speichern im Formular nichts mehr angezeigt (...ist ja auch schon der Bearbeitungsmodus), der Eintrag erscheint dann aber ganz normal im Listenmodus.

Hast du noch eine weitere Idee?

Gruß
Karin

steffenk ·

kann höchstens sein, das irgendwas in der TCA-Konfiguration nicht stimmt, poste mal tca.php und ext_tables.php - das könnte helfen.

schau auch mal hier: #569632

iomorph ·

Hallo,

tja, mal sehen ob du damit was anfangen kannst. Vermutlich habe ich irgendwas völlig falsch aufgebaut, ich bastel meine Extensions immer ahnungslos mit dem Versuch-Irrtumsprinzip zusammen ... bisher hats funktioniert...

Hier die tca.php

<?php
if (!defined ('TYPO3_MODE'))     die ('Access denied.');

$TCA["user_countries"] = array (
    "ctrl" => $TCA["user_countries"]["ctrl"],
    "interface" => array (
        "showRecordFieldList" => "country_name,country_date"
    ),
    "feInterface" => $TCA["user_countries"]["feInterface"],
    "columns" => array (
        "country_name" => Array (        
            "exclude" => 1,        
            "label" => "LLL:EXT:user_countries/locallang_db.xml:user_countries.country_name",        
            "config" => Array (
                "type" => "input",    
                "size" => "30",    
                "max" => "60",
            )
        ),
        "country_date" => Array (        
            "exclude" => 1,        
            "label" => "LLL:EXT:user_countries/locallang_db.xml:user_countries.country_date",        
            "config" => Array (
                "type"     => "input",
                "size"     => "8",
                "max"      => "20",
                "eval"     => "date",
                "checkbox" => "0",
                "default"  => "0"
            )
        ),
    ),
    "types" => array (
        "0" => array("showitem" => "country_name;;;;1-1-1, country_date")
    ),
    "palettes" => array (
        "1" => array("showitem" => "")
    )
);
?>

und die ext_tables.php

<?php
if (!defined ('TYPO3_MODE'))     die ('Access denied.');

t3lib_extMgm::allowTableOnStandardPages('user_countries');


t3lib_extMgm::addToInsertRecords('user_countries');

$TCA["user_countries"] = array (
    "ctrl" => array (
        'title'     => 'LLL:EXT:user_countries/locallang_db.xml:user_countries',        
        'label'     => 'country_name',    
        'tstamp'    => 'tstamp',
        'crdate'    => 'crdate',
        'cruser_id' => 'cruser_id',
        'type' => 'country_name',    
        'default_sortby' => "ORDER BY country_name",    
        'delete' => 'deleted',    
        'dynamicConfigFile' => t3lib_extMgm::extPath($_EXTKEY).'tca.php',
        'iconfile'          => t3lib_extMgm::extRelPath($_EXTKEY).'icon_user_countries.gif',
    ),
    "feInterface" => array (
        "fe_admin_fieldList" => "country_name, country_date",
    )
);


t3lib_div::loadTCA('tt_content');
$TCA['tt_content']['types']['list']['subtypes_excludelist'][$_EXTKEY.'_pi1']='layout,select_key';


t3lib_extMgm::addPlugin(array('LLL:EXT:user_countries/locallang_db.xml:tt_content.list_type_pi1', $_EXTKEY.'_pi1'),'list_type');


t3lib_extMgm::addStaticFile($_EXTKEY,"pi1/static/","Country List");
?>

Danke, Gruß bis später

iomorph ·

Habe den Fehler gefunden:

Man darf im Kickstarter im Tabellenelement wohl nicht gleichzeitig "'Type-field', if any:" und "Label-field:" auswählen - oder es darf zumindest nicht das gleiche drin stehen.