2016-11-07 72 views
2

我正在使用TYPO3 7.6.11。 我寫了一個提供程序擴展來添加一些ts代碼,模板和viewhelpers。 之後,我想添加一個自定義數據記錄(用於後端)。TYPO3列表模塊:自定義記錄不顯示

我在ext_tables.sql中添加了表。 我/[extension]/Configuration/TCA/tablename.php

下一個TCA-配置我加

TYPO3\CMS\Core\Utility\ExtensionManagementUtility::allowTableOnStandardPages('tablename'); 
TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addToInsertRecords('tablename'); 

我ext_tables.php

我錯過了什麼?

我在列表模塊的「系統記錄」下得到一個新的記錄類型。我可以添加這樣的記錄,並且TCA配置似乎對記錄表單工作正常。

但保存後,我在列表視圖中沒有記錄。數據庫看起來很好。記錄正確保存在我的新表中。我究竟做錯了什麼? 感謝

編輯: CRTL:

'ctrl' => array (
    'title' =>  'LLL:EXT:svkcore/Resources/Private/Language/locallang.xlf:records.title', 
    'label' => 'title', 
    'label_alt' => '', 
    'label_alt_force' => TRUE, 
    'default_sortby' => 'ORDER BY datetime DESC', 
    'prependAtCopy' => 'LLL:EXT:lang/locallang_general.php:LGL.prependAtCopy', 
    'versioningWS' => TRUE, 
    'versioning_followPages' => TRUE, 
    'origUid' => 't3_origuid', 
    'shadowColumnsForNewPlaceholders' => 'sys_language_uid,l18n_parent,starttime,endtime,fe_group', 

    'dividers2tabs' => TRUE, 
    'useColumnsForDefaultValues' => 'type', 
    'transOrigPointerField' => 'l18n_parent', 
    'transOrigDiffSourceField' => 'l18n_diffsource', 
    'languageField' => 'sys_language_uid', 
    'crdate' => 'crdate', 
    'tstamp' => 'tstamp', 
    'delete' => 'deleted', 
    'type' => 'type', 
    'cruser_id' => 'cruser_id', 
    'editlock' => 'editlock', 
    'enablecolumns' => array (
     'disabled' => 'hidden', 
     'starttime' => 'starttime', 
     'endtime' => 'endtime', 
     'fe_group' => 'fe_group', 
    ), 
    'typeicon_column' => 'type', 
    'typeicons' => array (
     '1' => 'EXT:svkcore/res/gfx/svkcore_inturl.gif', 
     '2' => 'EXT:svkcore/res/gfx/svkcore_exturl.gif', 
    ), 
    'thumbnail' => 'image', 
    'iconfile' => 'EXT:svkcore/res/gfx/ext_icon.gif', 
    'searchFields' => 'uid,title,short,bodytext'), 
'interface' => Array (
    'showRecordFieldList' => 'title,hidden,datetime_start,starttime,archivedate,category,short,image,record_files' 
), 
+0

是記錄的PID也可以正確保存? – lorenz

+0

是的數據庫中的pid是正確的 – RanzigeMilch

+0

你有沒有''hideTable'=> true,'在你的表的TCA定義的ctrl部分? –

回答

0

入住ext_tables.php,如果你有需要爲您的新表的一切:Typo腳本包容,語言文件,爲例:

\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addStaticFile($_EXTKEY, 'Configuration/TypoScript', 'My TS configuration'); 

\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addLLrefForTCAdescr('tx_myext_domain_model_mytable', 'EXT:my_ext/Resources/Private/Language/locallang_csh_tx_myext_domain_model_mytable.xlf'); 
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::allowTableOnStandardPages('tx_myext_domain_model_mytable'); 

你確保新記錄存儲在當前頁面中:查看TS「persistence.storagePid」。 你可以在數據庫中檢查這個pid是否用於你的新記錄。

問候, 弗洛裏安

+0

謝謝您的回答。 第一:我認爲TCAdescr部分不是強制性的。我現在添加了,但問題仍然存在。 當我閱讀你的答案時,我看到了這個:「tx_myext_domain_model_mytable」 這只是命名約定,還是我必須爲我的表創建一個域/模型? – RanzigeMilch

+0

我有一個錯別字,但我的記錄表裏沒有任何內容。我必須爲表格添加一些輸入嗎? 我必須設置persistence.storagePid嗎?我只是想在後端的當前文件夾中創建記錄。 – RanzigeMilch

+0

TypoScript僅適用於前端(可用於自定義後端模塊)和persistence.storagePid是TypoScript中的ExtBase配置,也是「僅」前端。 addLLrefForTCAdescr是可選的。 – Lasse

0

由於Typo3的7也能夠掩蔽列表視圖。這是通過PageTSConfig進行配置的,查看您的信息模塊(在頁面樹中選擇正確的頁面)並檢查TSConfig。

配置可以在以下路徑找到:

mod.web_list.allowedNewTables