当我试图安装Joomla!扩展JCH,我在完成安装后想出了上面的标题信息。我问开发人员,他回复说我不必担心扩展,因为这是Joomla!问题是它不会影响扩展的工作方式。
UCMType.php的第169行如下:
$tableNameFromType = $tableFromType->special->prefix . $tableFromType->special->type;
以及包含第169行的UCMType.php的特定部分:
public function getTypeByTable($tableName)
{
$query = $this->db->getQuery(true);
$query->select('ct.*');
$query->from($this->db->quoteName('#__content_types', 'ct'));
// $query->where($this->db->quoteName('ct.type_alias') . ' = ' . (int) $typeAlias);
$this->db->setQuery($query);
$types = $this->db->loadObjectList();
foreach ($types as $type)
{
$tableFromType = json_decode($type->table);
$tableNameFromType = $tableFromType->special->prefix . $tableFromType->special->type;
if ($tableNameFromType === $tableName)
{
return $type;
}
}
return false;
}
你真的不必过多关注这个问题,所以第三方扩展开发人员就是这样。这更像是一个小错误(因此通知就在那里),而不是一个严重的错误。您的网站将运行没有问题。
正如您在本通知中看到的那样,在foreach(){}
循环中,尝试从另一个不是Object的变量定义变量,因此它最有可能返回一个NULL值或另一个TYPE,它没有Object属性是什么预计在那里。
在这个特殊情况下,整个事情发生在一个相对较新的Joomla核心类和接口(UCM和UCMType)中。在这个类中,他们希望按表定义内容类型,这部分代码必须由核心Joomla开发人员进行修改和改进。
你该怎么办?
1.如果你想帮助Joomla和你自己的发展一点,那么请在这里报告这个问题:https://developer.joomla.org/tracker.html,他们将最有可能检查和修复。
2.此PHP(错误)通知通常适用于开发人员,因此如果您的站点是实时站点,则基本上不应该看到此通知。如果您在实际网站上看到此信息,则可能意味着您的Joomla错误报告设置不正确,或者您的服务器错误报告默认设置不正确。
在您的Joomla管理员系统 - >全局配置 - >服务器 - >错误报告必须设置为系统默认值或无。因此,对于您网站的访问者,这些不相关的通知不会显示。仅当您的站点不是实际站点并且您在分段副本中进一步开发时,才建议使用其他设置。
如果您有Joomla问题,请访问Joomla Stack Exchange:https://joomla.stackexchange.com/questions,请在那里询问有关Joomla的问题。
我希望上面为你解决了这个问题。