Sono in difficoltà con il seguente problema.Typo3 foreign_table & foreign_table_where in TCA
Ho due tabelle di database, "Libri" e "Categoria". Sto ricevendo tutti i dati da "libri" -table tramite Sysfolder nella vista Elenco backends per modificarli, ordinarli e controllarli.
Quello che vorrei ottenere, è che ci sarebbe in quella lista anche il nome della categoria a cui appartiene il libro.
Nella tabella "Libri" è presente una chiave esterna del campo "category_id"
che definisce quello per cui appartiene il Libro. Ho provato tramite questo "category_id"
per ottenere il nome della categoria nella visualizzazione elenco dei libri.
Quando mi definisco in TCA['books']
che category_id
come:
'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
)
),
collega i libri e categorie usando category_id
(in Libri-tabella) e uid
(nella Categoria-tabella).
Non come vorrei, che li collegherebbe usando category_id (in Books-table) e id (in Category-table). Questo id è un id della categoria e può essere diverso da quello uid.
Sto facendo qualcosa di sbagliato o Typo3 in qualche modo rende automaticamente questa "connessione" alle tabelle estere uid
. ? C'è un modo per ottenerlo come vorrei?
Grazie per la risposta. L'ho provato in quel modo. Quindi, ho creato un file di classe nella cartella typo3conf/ext/MY_EXTENSION. – Andrew
Grazie per la risposta. L'ho provato in quel modo. Quindi, ho creato un file di classe nella cartella typo3conf/ext/MY_EXTENSION. In quel file ho fatto una lezione con un metodo. Ho incluso la classe in ext_tables.php E alla fine ho impostato gli elementiProcFunc in config per il campo categoria al mio metodo. Ho capito qualcosa di sbagliato ora. Ho cercato di ottenere una risposta facendo eco semplice e uscire nel mio metodo, ma non succede nulla quando carico la vista Elenco nel backend, si presenta come prima. – Andrew
Se si verifica solo con 'echo', assicurarsi che non si stia ottenendo l'output. Si noti che l'eco di output potrebbe essere nascosto dietro i campi del modulo e che non si troverà all'inizio del codice HTML e assicurarsi anche che si stia controllando il frame corretto. Potrebbe essere meglio controllare modificando '$ PA ['items']' come al punto 2. Se non stai ottenendo nulla, controlla di non aver commesso errori - che la classe è inclusa e che hai impostato 'itemsProcFunc' alla giusta classe e metodo. – tmt