存档

文章标签 ‘ecshop’

ECSHOP添加指定支付方式享受折扣功能

2010年8月12日 果果 49 条评论

需要修改的文件:includes/lib_order.php, themes/../order_total.lib

修改order_total.lib代码,将if $total.pay_fee > 0修改为如下内容

<!-- {if $total.pay_fee neq 0} 支付费用 -->
      + {$lang.pay_fee}: <font>{$total.pay_fee_formated}</font>
      <!-- {/if} -->

修改lib_order.php,找到“/* 支付费用是一个比例 */”,修改下面计算方法为

   

 {

        /* 支付费用是一个比例 */

        $val     = floatval($rate) / 100;

        $pay_fee = $order_amount * $val;

    }

在订单页面,将负号显示在货币前面,修改lib_order.php,找到pay_fee_formated,修改如下

if($total['pay_fee']<0){
  $total['pay_fee_formated'] = "-".price_format((-1 * $total['pay_fee']), false);
 }else{
  $total['pay_fee_formated'] = price_format($total['pay_fee'], false);
 }

就可以在后台设置支付费用时,输入-10%,即可选用该支付方式时打九折

分类: ecshop 标签: ,

修改ECSHOP后台订单列表默认订单状态为请选择

2010年8月11日 果果 302 条评论

修改admin/templates/order_list.htm,大约10行左右,最后添加selected=-1

{html_options options=$status_list selected=-1}
分类: ecshop 标签:

用Google Analytics分析ECShop的电子商务数据

2010年7月20日 果果 61 条评论

此方法的缺陷是,只要下订单GA就认为算一次交易,是否付款跟踪不到

1,注册:http://www.google.com/analytics

2,创建账号、站点.

3,设置站点时要将“电子商务”(Ecommerce)选成”yes”.

4,在ECSHOP themes/library/page_footer.lbi 的末尾,加上google analytics的统计代码

(要将UA-xxxxxx-1改成自己的)

<script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
try {
var pageTracker = _gat._getTracker("UA-xxxxxx-1");
pageTracker._trackPageview();
<!-- {if $step eq "done"} 订单提交成功-->
pageTracker._addTrans(
    "<!--{$order.order_sn}-->",                                     // Order ID
    "<!--{$order.parent_id}-->",                            // Affiliation
    "<!--{$order.goods_amount}-->",                                    // Total
    "0",                                     // Tax
    "<!--{$order.shipping_fee}-->",                                        // Shipping
    "<!--{$order.city}|{$order.district}-->",                                 // City
    "<!--{$order.province}-->",                               // State
    "<!--{$order.country}-->"                                       // Country
  );

<!--{foreach from=$goods_list item=goods}-->
  pageTracker._addItem(
    "<!--{$order.order_sn}-->",                                     // Order ID
    "<!--{$goods.goods_sn}-->",                                     // SKU
    "<!--{$goods.goods_name}-->",                                  // Product Name
    "<!--{$goods.goods_id}-->",                             // Category
    "<!--{$goods.goods_price}-->",                                    // Price
    "<!--{$goods.goods_number}-->"                                         // Quantity
  );
<!--{/foreach}-->
  pageTracker._trackTrans();
<!-- {/if} -->
} catch(err) {}</script>

完毕。

ecshop在首页调用指定分类的文章

2010年7月16日 果果 107 条评论

具体样式请自行调整

举例如首页调用方法:
1、先打开index.php文件找到以下代码:
$smarty->assign(’new_articles’, index_get_new_articles()); // 最新文章

在它下面增加以下:
//调用方法

$smarty->assign(’class_articles_4′, index_get_class_articles(4,6)); // 分类调用文章
//调用多个就修改传进去的参数,以及模板接收的变量,其中上面的4就是文章分类ID,其中6是调用数量
$smarty->assign(’class_articles_5′, index_get_class_articles(5,6)); // 分类调用文章
$smarty->assign(’class_articles_6′, index_get_class_articles(6,6)); // 分类调用文章
$smarty->assign(’class_articles_7′, index_get_class_articles(7,6)); // 分类调用文章
$smarty->assign(’class_articles_8′, index_get_class_articles(8,6)); // 分类调用文章

//在最后?>这个之前增加以下函数

/**
* 获得指定栏目最新的文章列表。
*
* @access private
* @return array
*/
function index_get_class_articles($cat_aid, $cat_num)
{
$sql = “SELECT article_id, title,open_type,cat_id,file_url FROM ” .$GLOBALS['ecs']->table(’article’). ” WHERE cat_id = “.$cat_aid.” and is_open = 1 LIMIT ” . $cat_num;
$res = $GLOBALS['db']->getAll($sql);
$arr = array();
foreach ($res AS $idx => $row)
{
$arr[$idx]['id'] = $row['article_id'];
$arr[$idx]['title'] = $row['title'];
$arr[$idx]['short_title'] = $GLOBALS['_CFG']['article_title_length'] > 0 ?
sub_str($row['title'], $GLOBALS['_CFG']['article_title_length']) : $row['title'];
$arr[$idx]['cat_name'] = $row['cat_name'];
$arr[$idx]['add_time'] = local_date($GLOBALS['_CFG']['date_format'], $row['add_time']);
$arr[$idx]['url'] = $row['open_type'] != 1 ?
build_uri(’article’, array(’aid’ => $row['article_id']), $row['title']) : trim($row['file_url']);
$arr[$idx]['cat_url'] = build_uri(’article_cat’, array(’acid’ => $row['cat_id']));
}
return $arr;
}

2、第二步是在index.dwt模板想调用的地方增加以下代码,(注:以下调上面设置里的分类ID为8的文章列表):

<!–{foreach from=$class_articles_8 item=article}–>
<li><a href=”{$article.url}” title=”{$article.title|escape:html}”><!–{$article.short_title|truncate:15:true}–></a></li>
<!–{/foreach}–>

如何修改ECSHOP邮编电话只能输入数字的限制

2010年5月24日 果果 49 条评论

做外贸的经常遇到客户邮编有字母的情况,但ecshop默认是判定只能输入数字

修改js/shopping_flow.js

改为只判断是否为空就可以了
if (frm.elements['zipcode'] && Utils.isEmpty(frm.elements['zipcode'].value))
  {
    err = true;
    msg.push(”Please Enter zip/post code!”);
  }

同样,美国的用户习惯在电话里加(),比如(021)-985-5875
也可以用上面的方法解决。

if (frm.elements['tel'] && Utils.isEmpty(frm.elements['tel'].value))
  {
    err = true;
    msg.push(tele_not_null);
  }

分类: ecshop 标签: ,