如何解决这个virtmart显示错误?

时间:2013-09-22 03:34:40

标签: php error-handling joomla2.5 virtuemart

我在使用joomla 2.5.11的virtmart中遇到问题。有显示一些通知,并在主页virtmart除了这些通知之外没有显示任何内容。

  

注意:未定义的属性:TableCategories :: $ virtuemart_id in   第57行的C:\ xampp \ htdocs \ joonla \ Joomla_2.5.11-Stable-Full_Package \ components \ com_virtuemart \ views \ categories \ view.html.php

     

严格标准:VirtueMartModelMedia :: store()的声明应该   与VmModel :: store()的兼容   第435行的C:\ xampp \ htdocs \ joonla \ Joomla_2.5.11-Stable-Full_Package \ administrator \ components \ com_virtuemart \ models \ media.php

     

严格标准:JParameter :: loadSetupFile()的声明应该是   与JRegistry :: loadSetupFile()的兼容   C:\ XAMPP \ htdocs中\ joonla \ Joomla_2.5.11-稳定Full_Package \图书馆\的Joomla \ HTML \ parameter.php   在第512行

     

严格标准:从空值中创建默认对象   第82行的C:\ xampp \ htdocs \ joonla \ Joomla_2.5.11-Stable-Full_Package \ components \ com_virtuemart \ views \ categories \ view.html.php

1 个答案:

答案 0 :(得分:0)

确定您运行的是最新版本的Virtuemart后,如果您想修复这些警告(尽管请记住它们只是警告,并且它们可能会在您更新时返回,如果它们未由Virtuemart修复),那么你应该遵循每个错误给出的简单指令:

Notice: Undefined property: TableCategories::$virtuemart_id in x.php on line y

这意味着在文件y的行x上调用了一个属性。在这种情况下,您应该找到实例化TableCategories类的位置并添加默认$virtuemart_id

Strict Standards: Declaration of VirtueMartModelMedia::store()
should be compatible with that of VmModel::store() in x.php on line y

这意味着两个相关类的两个函数声明不会以相同的方式声明。例如:

function Parent::a($param1, $param2) {}
function Child::a($param1) {}

很明显,孩子也应该传入$param2参数。如果你想改变这样的事情,你应该知道对该函数有各种调用,显然没有(例如)第二个参数。处理此问题的最佳方法是,因为你想摆脱错误,是让子调用等于父调用,但要确保有一个默认值,如$param2 = 0以避免将来出现错误。

Strict Standards: Declaration of JParameter::loadSetupFile()
should be compatible with that of JRegistry::loadSetupFile() in x.php on line y

如果你想要我的意见,请避免这个。一般情况下,除非您really确定要执行的操作,否则最好不要使用Joomla代码,并且这是唯一的方法。虽然,请注意Joomla 2.5有更新,以防你仍然在2.5.11。

Strict Standards: Creating default object from empty value in x.php on line y

对于最后一个错误,请阅读this