如何通过 JTable 访问 Joomla 中的联系人?

How to access contacts in Joomla via JTable?

仍在处理我的组件,我目前正在尝试添加、编辑和删除联系人。我发现它们位于 contact_details。使用 JFactory::getDBO() 访问它们是有效的。文档说,使用 JTable 更安全,并且是使用数据库的预期方式。

使用 JTable::getInstance('contact_details') 会导致错误提示 'contact_details' 不受支持。有没有办法使用 JTable 访问 contact_details?我是否必须创建自定义 table 才能使其正常工作?

提前致谢!

JTable::getInstance() 的参数不是数据库的名称 table 它是 table class 的名称。在这种情况下,如果您查看 /administrator/components/com_contant/tables,您会看到 table class 名称插入 ContactTableContact,这是 Joomla 中 table 的常规模式!其中第一个 table 给出位置(API 将剥离 com_ 第二个表示它是 table class 并且在 table 或 tables 文件夹(后者是遗留的),最后一段是文件的名称。因此 JTable::getInstance('ContactTableContact') 应该可以为您解决问题。