Estoy luchando con el siguiente problema.Typo3 foreign_table & foreign_table_where en TCA
Tengo dos tablas de base de datos, "Libros" y "Categoría". Obtengo todos los datos de la tabla de "libros" a través de Sysfolder en la vista de lista de programas de fondo para editarlos, clasificarlos y controlarlos.
Lo que me gustaría conseguir, es que habría en esa vista de lista también el nombre de la categoría a la que pertenece el libro.
En "Libros" -table hay un campo de claves foráneas "category_id"
que define que para qué categoría pertenece el libro. He intentado a través de este "category_id"
para obtener el nombre de la categoría en la vista de lista de los libros.
Cuando defino en TCA['books']
que category_id
como:
'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
)
),
que conecta los libros y las categorías a partir de category_id
(en los libros-mesa) y uid
(en la categoría de la tabla).
no me gusta Me gustaría, que sería la conexión mediante category_id (en los libros de la tabla) y la identificación (en la categoría de la tabla). Este id es un id de la categoría y puede ser diferente de ese uid.
estoy haciendo algo mal o hace Typo3 alguna manera hace que automáticamente esta "conexión" a las tablas extranjeras uid
. ? ¿Hay alguna forma de obtenerlo como me gustaría?
Gracias por su respuesta. Lo intenté de esa manera. Así que hice un archivo de clase en la carpeta typo3conf/ext/MY_EXTENSION. – Andrew
Gracias por su respuesta. Lo intenté de esa manera. Así que hice un archivo de clase en la carpeta typo3conf/ext/MY_EXTENSION. En ese archivo hice una clase con un método. Incluí la clase en ext_tables.php Y al final configuré los itemsProcFunc en config para el campo de categoría en mi método. ¿He entendido algo mal ahora? Intenté obtener una respuesta haciendo un eco simple y salí en mi método, pero no ocurre nada cuando cargo la vista de lista en Backend, aparece como antes. – Andrew
Si solo está marcando con 'echo', asegúrese de que realmente no obtiene el resultado. Tenga en cuenta que la salida del eco puede estar oculta detrás de los campos del formulario y que no estará al principio del código HTML y también asegúrese de que está revisando el marco correcto. Tal vez sea mejor verificar modificando '$ PA ['items']' como en el paso 2. Si no está obteniendo nada, verifique que no ha cometido ningún error, que la clase está incluida y que ha configurado 'itemsProcFunc' a la clase y método correctos. – tmt