在构建网站时,自定义模型是不可或缺的一部分。然而,在后台完成新建自定义模型后,更新栏目时可能会遇到以下错误提示:

Fatal error: Call to a member function GetInnerText() on a non-object in E:\\www\\include\\taglib\\channel\\img.lib.php on line 51

这一问题的出现可能让许多开发者感到困惑,但其实修复方法非常简单。

要解决这个问题,首先需要编辑并打开文件 `/include/taglib/channel/img.lib.php`。接下来,找到第51行附近的代码段,并进行如下修改。

以下是原始代码片段:

// 遍历图片信息
$mrow = 0;
$mcol = 0;
$images = array();
$innerTmp = $arcTag->GetInnerText();

if(trim($innerTmp)==''){
    $innerTmp = GetSysTemplets("channel_article_image.htm");
}

在这段代码中,关键问题出现在 `$innerTmp = $arcTag->GetInnerText();` 这一行。当 `$arcTag` 为空时,调用 `GetInnerText()` 方法会导致错误。

为了解决这个问题,可以将上述代码替换为以下内容:

$innerTmp = ($arcTag == "") ? trim($arcTag) : trim($arcTag->GetInnerText());

通过这种修改,程序会先检查 `$arcTag` 是否为空。如果为空,则直接使用 `$arcTag` 的值;否则,继续调用 `GetInnerText()` 方法获取内部文本内容。

完成修改后,请确保保存文件并重新上传到服务器(如果是在本地修改)。接着,返回网站后台更新列表页,此时应该不会再出现之前的错误提示,栏目更新功能也将恢复正常。

总结一下,这种错误通常是由于未对 `$arcTag` 进行空值检查导致的。通过简单的条件判断即可有效避免此类问题的发生。希望以上方法能帮助您快速解决问题,顺利推进网站开发工作。

如果您还有其他疑问或需要进一步的帮助,请随时查阅相关文档或咨询专业人士。