我正在努力解决以下问题。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