【问题标题】:Joomla 2.5.6 php error installing "upgraded 1.5" templateJoomla 2.5.6 php 安装“升级的 1.5”模板时出错
【发布时间】:2012-09-16 22:42:33
【问题描述】:

尝试在 Joomla 中安装转换后的 1.5 模板会导致 500 服务器错误。原来是PHP错误引起的:

尝试在第 54 行的 library/joomla/installer/adapters/template.php 中获取非对象的属性

致命错误:在下一行调用非对象上的成员函数 attributes()

有任何 Joomla 专家有想法吗?

【问题讨论】:

  • hmm,这肯定是由于模板文件夹中有一个php文件。我有一种感觉,它可能是 index.php,但可能是错误的。不看任何代码就很难说。如果不是太长,能否提供 index.php 代码?

标签: joomla joomla2.5


【解决方案1】:

这种类型的错误是模板 mainfest (XML) 文件格式错误的结果。即它的结构不正确。

当您转换 1.5 模板时,我会查看 docs.joomla.org 文章“Upgrading a Joomla 1.5 template to Joomla 2.5

如果您发布模板清单文件,我们可能会提供帮助。

【讨论】:

    【解决方案2】:

    Joomla libraries/joomla/installer/adapters/template.php 的第 53 和 55 行与加载语言文件有关。具体线路如下。如您所见,这仅与从清单中查找语言文件的名称有关

    $this->manifest = $this->parent->getManifest();
    $name = strtolower(JFilterInput::getInstance()->clean((string) $this->manifest->name, 'cmd'));
    $client = (string) $this->manifest->attributes()->client;
    

    我建议第 53 行找不到 $this->parent->getManifest() ,因此在空对象($this->manifest 部分)上调用属性,并且找不到实例再次$this->manifest,因为它不存在。

    如果您不知道清单是什么,请阅读this Joomla Wiki 文章。我建议您是否永久升级您通读的模板并更新您的模板 XML 文件以确保它适用于所有这些。正如上面所说的 cppl 也尝试通读将 Joomla 1.5 模板升级到 2.5 here。特别是在您的情况下,语言部分似乎正在产生错误-但是由于清单是通过 Joomla 非常普遍的事情,我怀疑这只是找到的第一个实例-并且将通过安装进行系统化!

    【讨论】:

      猜你喜欢
      • 2012-08-21
      • 1970-01-01
      • 1970-01-01
      • 2014-03-01
      • 2012-05-25
      • 2019-04-07
      • 2012-12-12
      • 2012-08-24
      • 1970-01-01
      相关资源
      最近更新 更多