Joomla, Falang integrate component... Fatal error: Call to a member function getTable() on null

Joomla, Falang integrate component... Fatal error: Call to a member function getTable() on null

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

正在调试我得到空值:

Fatal error: Call to a member function getTable() on null

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

我的 XML 用于集成我的组件看起来是:

 <?xml version="1.0"?>
    <falang type="contentelement">
      <name>Members</name>
      <author>whosebug.com</author>
      <version>1.0.0</version>
      <description>Definition for the core Members component</description>
      <copyright>whosebug.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 在我的 falang 安装的 joomla 中寻找其他人,有这个 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( )

我做到了

问题:xml 名称应等于数据库 table 名称。所以我重命名为 mytable.xml 并且效果很好

如果您使用 Neno Translate,则无需创建内容元素文件,因为它可以直接翻译任何第 3 方组件。它也是专门为 Joomla 3 编写的,具有 Falang 没有的一大堆特性。我更喜欢它而不是 Falang。