我正在努力解決以下問題。Typo3 foreign_table&foreign_table_where in TCA
我有兩個數據庫表,「書」和「類別」。我從「書籍」中獲取所有數據 - 通過後臺列表視圖中的Sysfolder進行編輯,排序和控制。
我想得到的是,該列表視圖中還會出現該書所屬類別的名稱。
在「Books」 - 表中,有一個字段外鍵"category_id"
,它定義了Book屬於哪個類別。我已通過此"category_id"
嘗試獲取書籍列表視圖中類別的名稱。
當我定義TCA['books']
是category_id
,如:
'category_id' => array (
'exclude' => 0,
'label' => 'Cat name',
'config' => array (
'type' => 'select',
'foreign_table' => 'category',
'foreign_table_where' => 'AND category.id=###REC_FIELD_category_id###',
'eval' => 'int',
'checkbox' => '0',
'default' => 0
)
),
它的圖書類別(在分類表)使用category_id
(在書籍表)和uid
連接。
不像我想的那樣,它會使用category_id(在Books-table中)和id(在Category-table中)連接它們。這個id是類別的id,可以和uid不同。
我做錯了什麼或Typo3以某種方式自動使這個「連接」到外國表uid
。 ?有什麼方法可以讓我喜歡嗎?
謝謝您的回答。我試過那樣。 因此,我在文件夾typo3conf/ext/MY_EXTENSION中創建了一個類文件。 – Andrew 2012-03-16 19:22:09
感謝您的回答。我試過那樣。 因此,我在文件夾typo3conf/ext/MY_EXTENSION中創建了一個類文件。 在那個文件中,我用一個方法做了一個類。 我列入ext_tables.php 類,並在結束時,我設置好的了itemsProcFunc在配置的類別字段我的方法。 我現在明白了什麼錯誤。我嘗試通過在我的方法中創建簡單的echo和退出來獲得響應,但是當我在後端加載List-view時,沒有任何反應,它像之前顯示的那樣。 – Andrew 2012-03-16 19:30:12
如果您僅使用'echo'檢查,請確保您確實沒有得到輸出。需要注意的是回聲輸出可能的表單字段後面隱藏,並且它不會是在HTML代碼的開頭,並確保您正在檢查的右框架。這可能是更好地在步驟2中修改'$ PA [「項目」]'因爲如果你真的沒有得到任何檢查,檢查是否已沒有犯錯 - 這個類包含與您設置'itemsProcFunc'到正確的類和方法。 – tmt 2012-03-20 07:42:33