Joomla、Falang 集成组件...致命错误:在 null 上调用成员函数 getTable()

Posted

技术标签:

【中文标题】Joomla、Falang 集成组件...致命错误:在 null 上调用成员函数 getTable()【英文标题】:Joomla, Falang integrate component... Fatal error: Call to a member function getTable() on null 【发布时间】:2015-08-09 12:43:19 【问题描述】:

您好,我在为多语言网站在 Falang 中集成 joomla 的自定义组件时遇到了一些问题

调试我得到了空值:

致命错误:在 null 上调用成员函数 getTable()

object(ContentObject)[183]​​ public '_contentElement' => null

用于集成我的组件的 XML 如下所示:

 <?xml version="1.0"?>
    <falang type="contentelement">
      <name>Members</name>
      <author>***.com</author>
      <version>1.0.0</version>
      <description>Definition for the core Members component</description>
      <copyright>***.com</copyright>
      <reference>
        <table name="chambercommerce_members">
            <field type="referenceid" name="id" translate="0">ID</field>
            <field type="titletext" name="company_name" translate="1">Company Name</field>
            <field type="text" name="country" translate="1">Country</field>
            <field type="text" name="benefits_discounts" translate="1">Benefits</field>
            <field type="text" name="web" translate="0">Web</field>
        </table>
      </reference>
      <translationfilters>
         <frontpage>id</frontpage>
         <keyword>company_name</keyword>
         <id>id</id>
      </translationfilters>
    </falang>

我让我的 xml 在我的 joomla 安装中寻找其他的 falang 并且有这个 var_dump。

<em>object(ContentObject)[180]  public '_contentElement' => object(ContentElement)[179]  public '_xmlFile' => ...</em>

有什么解决办法吗?

调用栈:

( ! ) Fatal error: Call to a member function getTable() on null in C:\xampp2\htdocs\website.com\administrator\components\com_falang\models\ContentObject.php on line 747
Call Stack
#   Time    Memory  Function    Location
1   0.0009  134496  main( )   ...\index.php:0
2   0.0741  2216528 JApplicationCms->execute( ) ...\index.php:42
3   0.0741  2216792 JApplicationAdministrator->doExecute( ) ...\cms.php:245
4   0.1535  4563008 JApplicationAdministrator->dispatch( )  ...\administrator.php:159
5   0.1565  4603072 JComponentHelper::renderComponent( )    ...\administrator.php:98
6   0.1614  4636208 JComponentHelper::executeComponent( )   ...\helper.php:332
7   0.1621  4669360 require_once( 'C:\xampp2\htdocs\website.com\administrator\components\com_falang\falang.php' )   ...\helper.php:352
8   0.2074  5752552 JControllerLegacy->execute( )   ...\falang.php:78
9   0.2074  5752848 TranslateController->editTranslation( ) ...\legacy.php:722
10  0.2172  6208560 TranslateViewTranslate->display( )  ...\translate.php:245
11  0.2374  6515680 FalangViewDefault->display( )   ...\view.php:80
12  0.2470  6795128 JViewLegacy->display( ) ...\view.php:70
13  0.2470  6795384 JViewLegacy->loadTemplate( )    ...\legacy.php:211
14  0.2499  6900192 include( 'C:\xampp2\htdocs\website.com\administrator\components\com_falang\views\translate\tmpl\edit.php' ) ...\legacy.php:663
15  0.2500  6900664 ContentObject->getTable( )

【问题讨论】:

【参考方案1】:

我做到了。

问题:xml 名称应该与数据库表名称相同。所以我重命名为 mytable.xml 并且效果很好

【讨论】:

【参考方案2】:

如果您使用Neno Translate,则无需创建内容元素文件,因为它可以直接翻译任何第 3 方组件。它也是专门为 Joomla 3 编写的,并且有很多 Falang 没有的特性。比起法朗,我更喜欢它。

【讨论】:

以上是关于Joomla、Falang 集成组件...致命错误:在 null 上调用成员函数 getTable()的主要内容,如果未能解决你的问题,请参考以下文章

致命错误:在 joomla 3 中调用未定义的方法 JController::getInstance()

Joomla3.6致命错误:require_once():需要打开失败

致命错误:Joomla 中允许的内存大小为 33554432 字节已用尽(尝试分配 32 字节)

Joomla3.6致命错误:require_once():需要打开失败

joomla 1.5 搜索与自定义组件的集成?

Joomla 自定义组件未找到 404 错误