Warning: Invalid argument supplied for foreach()
问题Warning: Invalid argument supplied for foreach() in 完善解决方案
将报错的语句做如下修改(例):
把
QUOTE:
foreach($extcredits as $id => $credit)
{
if($credit['ratio'])
{
$exchcredits[$id] = $credit;
}
}
ECshop后台的商品类型每个属性值都是独立的,因此如果我们用 ECSHOP商品属性调用到任意页面方法 时,会出现只能调用某个分类的商品属性。这个时候我们就要对代码进行修改,根据产品所属的分类ID进行判断。
看到标题有的人觉得这个很复杂,其实这个没那么复杂,直接用下面的方法,就可以在ECSHOP的任意页面调用商品属性。
1、首先修改 category.php 文件
将
$sql = 'SELECT g.goods_id, g.goods_name, g.goods_name_style, g.market_price, g.is_new, g.is_best, g.is_hot, g.shop_price AS org_price, ' .
修改为
$sql = 'SELECT g.goods_id, g.goods_name, b.brand_name , g.goods_name_style, g.market_price, g.is_new, g.is_best, g.is_hot, g.shop_price AS org_price, ' .
Ecshop分类页面的品牌筛选默认不显示该品牌下商品数量,如果需要显示,可能通过一下方法进行修改。
首先打开category.php,搜索函数$brands,大约438行,在对应位置添加下面红色代码。
foreach ($brands AS $key => $val)
{
$temp_key = $key + 1;
说明:默认Ecshop添加添加新的商品相册图后,该图片就会置于商品相册的最后一个,于是前台显示放大图就会于相册第一张不同。原因是代码里面没有排序。
首页的推荐商品包括热销推荐和促销三个文件
1、打开mobile/index.php,添加以下代码
//获取商品分类
$pcat_array = get_categories_tree();
foreach ($pcat_array as $key => $pcat_data)
{
$pcat_array[$key]['goods_list'] = get_parent_category_goods($pcat_data['id']);
管理员密码忘记,通过重新安装的密码更换数据库,或者通过md5加密密文替换数据库,都一一失败,这个问题困扰了很多朋友。
1.includes/lib_goods.php 288行修改成,(红色是添加内容)
$sql = 'SELECT b.brand_name,g.goods_id,g.goods_sn, g.goods_name, g.goods_name_style, g.market_price, g.shop_price AS org_price, g.promote_price,' .
"IFNULL(mp.user_price, g.shop_price * '$_SESSION[discount]') AS shop_price, ".
"promote_start_date, promote_end_date, g.goods_brief, g.goods_thumb, g.goods_img, RAND() AS rnd " .
'FROM ' . $GLOBALS['ecs']->table('goods') . ' AS g ' .
'LEFT JOIN ' . $GLOBALS['ecs']->table('brand') . ' AS b ON b.brand_id = g.brand_id ' .
"LEFT JOIN " . $GLOBALS['ecs']->table('member_price') . " AS mp ".
"ON mp.goods_id = g.goods_id AND mp.user_rank = '$_SESSION[user_rank]'";
2..includes/lib_goods.php 中 $goods[$idx]['brief'] = $row['goods_brief'];下面添加一行
$goods[$idx]['brand_name'] = $row['brand_name'];
3.首页index.dwt中 用{$goods.brand_name}调用
效果如下。可以连品牌一起调用出来咯
Ecshop修改商品分类页的排序方式为推荐排序
打开,includes/lib_common.php
大家可以看到,上面是没有显示产品型号的,如何显示产品型号呢,请看下面操作步骤
一、ecshop后台->商品管理->商品上传->商品属性,添加产品型号
如果这个步骤不会的童鞋,请看Ecshop基础教程,关于后台编辑那块,网上很多的,我就不再重复
二、更改文件,根目录/category.php 大概第447行代码
源代码:
一、数据库结构修改
1、用phpMyAdmin打开mysql数据库
2、选择表“ecs_users ”
3】添加你想要加的字段
二、修改模板文件
修改themes/你所选模板目录下/user_transaction.dwt文件
<tr>
<td width="28%" align="right" bgcolor="#FFFFFF">{$lang.other_mobile_phone}:</td>
<td width="72%" align="left" bgcolor="#FFFFFF"><input name="other[mobile_phone]" type="text" value="{$profile.mobile_phone}" class="formBorder" />
</td>
</tr>
<tr>
<td width="28%" align="right" bgcolor="#FFFFFF">{$lang.other_family_birthday}:</td>
<td width="72%" align="left" bgcolor="#FFFFFF"><input name="extend_field6" type="text" value="{$profile.family_birthday}" class="formBorder" />
</td>
</tr>
<< 向左走,向右走 >>