我正在运行一个Prestashop网站,一小段文字在我网站的几乎每一页(网站顶部)上都会显示:
Notice: Undefined index: link_rewrite in /srv/http_mysitename/shop/modules/blockcms/BlockCMSModel.php on line 280
Notice: Undefined index: meta_title in /srv/http_mysitename/shop/modules/blockcms/BlockCMSModel.php on line 281
这是我的BlockCMSModel.php:http://codepen.io/Janos/pen/xExGww?editors=1000 →第280和281行是:
$content[$cmsCategory]['link'] = $context->link->getCMSLink((int)$ids[1], $query['link_rewrite']);
$content[$cmsCategory]['meta_title'] = $query['meta_title'];
请帮助我,我不是程序员,我只能处理几个html和css的东西。我的办公室同事给了我一个如何隐藏这些通知的建议,但我宁愿解决整个问题。 谢谢。
答案 0 :(得分:0)
$query = BlockCMSModel::getCMSMetaTitle($ids[1]);
中的查询可能返回0行,因此$query
为空array()
,没有键link_rewrite
和meta_title
。
通过添加条件来解决此问题,以处理查询未返回任何行时发生的情况
$query = BlockCMSModel::getCMSMetaTitle($ids[1]); //line 279
if (!$query) {
// set empty strings when no rows are found in database or change this to
// whatever you want to do when no rows are found
$query['link_rewrite'] = '';
$query['meta_title'] = '';
}
$content[$cmsCategory]['link'] = $context->link->getCMSLink((int)$ids[1], $query['link_rewrite']);
$content[$cmsCategory]['meta_title'] = $query['meta_title'];
或打开文件
config/defines.inc.php
并设置define('_PS_MODE_DEV_', false);
请注意,此设置仅会隐藏您网站上的错误输出。