Warning: Illegal string offset cat_name in navigator.php

ecshop 报错 Warning: Illegal string offset cat_name in upload\admin\navigator.php on line 382

这个报错原因是里面可能里面有空数组,$arr = array();

这个时候你只有一个空数组,但是你非要:

$name = $arr[name];

这个时候就会出现这种情况。

解决办法很简单

找到navigator.php 里的get_sysnav()

在 foreach($catlist as $key => $val)下面添加一个判断if(is_array($val)),ok 搞定

具体代码如下:

function get_sysnav()

{

global $_LANG;

$sysmain = array(

array($_LANG[view_cart],flow.php),

array($_LANG[pick_out],pick_out.php),

array($_LANG[group_buy_goods],group_buy.php),

array($_LANG[snatch],snatch.php),

array($_LANG[tag_cloud],tag_cloud.php),

array($_LANG[user_center],user.php),

array($_LANG[wholesale], wholesale.php),

array($_LANG[activity], activity.php),

array($_LANG[myship], myship.php),

array($_LANG[message_board], message.php),

array($_LANG[quotation], quotation.php),

);

$sysmain[] = array(-,-);

$catlist = array_merge(cat_list(0, 0, lse), array(-), article_cat_list(0, 0, lse));

foreach($catlist as $key => $val)

{

if(is_array($val))

{

$val["view_name"] = $val["cat_name"];

for($i=0;$i<$val[level];$i++)

{

$val["view_name"] = nbsp;nbsp;nbsp;nbsp; . $val["view_name"];

}

$val["url"] = str_replace( amp;, , $val["url"]);

$val["url"] = str_replace( , amp;, $val["url"]);

$sysmain[] = array($val["cat_name"], $val["url"], $val["view_name"]);

}

}

return $sysmain;

}