问题:目前有一些模板在设计过程中,对$itemManager-> queryById ($id);方法进行多次调用,此方法是通过搜索引擎来查询商品的,但调用的太频繁,搜索引擎会屏蔽结果,将出现很多 设计师反馈的问题:宝贝ID没有变,但是宝贝的信息获取不到了。
解决方案:在遇到此种情况的时候,建议将要查询的宝贝组装成一个数组,然后调用$itemManager->queryByIds($ids,"hotsell");,这样可以减低对搜索引擎的压力,同时得到更加准确的结果。
问题:目前模板中存在因为数据接口返回的数据为空,而设计师没有对返回数据为空做兼容,导致 模块渲染失败。比如一些模板调用$itemManager-> queryById ($id);,而这个ID是通过参数传递进来的,如果模板应用到某个店铺以后,对应的ID的宝贝不存在的话就有可能造成模块渲染失败。
如以下代码:
<?php
$item = $itemManager-> queryById ($_MODULE['itemId’]);
$item->getPicUrl(80);
?>
上面的代码,当卖家设置了 错误的ID的情况下,就会导致$item为空,而后调用getPicUrl方法就会报错,导致整个模块丢失。
解决:此种情况下可以通过如下方式进行判断:
<?php
$item = $itemManager-> queryById ($id);
if($item){
$item->getPicUrl(80);
}else{
//这里进行兼容操作,比如显示默认的图片等
}
?>