ecshop 入驻开发_多用户商城

/Users/applezheng/sites/a8vsctest/themes/default

/Users/applezheng/sites/a8vsctest/themes/meilele
跟新的时候需要修改data/config.php 和data/configb.php数据库连接密码信息等。注意不可以复盖。只能是修改哦。里面的东西不太一样。否则启动步了。
includes/inc_constant.php定义了一些常量

admin中的esc_salt是做什么用的,我测试出来时检验密码的。如果复制md5加密后。必须要把这个字段的值也修改为一样。就可以登录了。


1.复制admin 为adminb

2.复制data/config.php,修改data/configb.php

configb.php 中的注释掉ADMIN_PATH行,重新定义为ADMIN_PATH如下
//define('ADMIN_PATH','admin');
define('ADMIN_PATH','adminb');

3.修改adminb中的include/init.php中的
define('ADMIN_PATH','admin'); 为
define('ADMIN_PATH','adminb');
4.访问后台成功。

5.再数据库内复制vsc_admin_user为vsc_admin_provider.

6.前台的模板放在themes/meilele/目录下 .dwt文件

7.后台的模板放在adminb/templates/目录下 .htm.php 文件.

8.修改init.php中的admin_users为users_pro表

并在users_pro中password字段后添加1个字段;action_list text,这个字段好像不用加。

9.修改index.php中的admin_users为admin_provider表

10. privilege.php  
找到 privilege.php 修改数据表  admin_user 为我们自己的新表。users_pro
{找到 privilege.php 修改数据表  admin_user 31行为我们自己的新表。admin_provider

替换掉所有的admin_user 为 admin_provider

再替换掉2处init.php中的的admin_user 为 admin_provider
再替换掉3处init.php中的的admin_user 为 admin_provider}

11.登录测试一下。可以了进入adminb目录了。

12.然后开始创建我们自己的登录页面。


13.复制user.php 为uesrb.php  (或者是provider.php这个事后来再做更新版本)

14.建立供货商注册页面。复制meilele模板下的user_passport.dwt为userb_passport.dwt

15.建立底部链接。修改数据库friend_link
复制第三行。修改有量的名称和地址对应。增加我们的地址为sign.html

16.修改userb_passport.dwt 和userb.php相互兼容.

17.报错没有zh_cn文件。复制zh_cn目录下的缺少文件。.php替换为*b.php

18.数据库复制一个数据。vsc_users 为vsc_users_pro

19.修改注册用户的数据保存界面为vsc_users_pro.这一步没有完成。在后面步骤完成后才能完成。

20.复制/js/user.js  为/userb.js放在user.js相同目录下。
修改用户名检测is_registered()函数为userb.php

添加变量如:function register()
{
   var frm               = document.forms['formUser'];
   var username          = Utils.trim(frm.elements['username'].value);
   var email             = frm.elements['email'].value;
   var password          = Utils.trim(frm.elements['password'].value);
   var confirm_password = Utils.trim(frm.elements['confirm_password'].value);
 
   var tel               = Utils.trim(frm.elements['tel'].value);
   var mobile            = Utils.trim(frm.elements['mobile'].value);
   var address           = Utils.trim(frm.elements['address'].value);


21.修改userb.php中调用register()函数的参数。
如果不需要对增加的input数据进行检测。我认为可以不用修改register()函数。
elseif ($action == 'act_register')
{
     include_once(ROOT_PATH . 'includes/lib_passport.php');
 
     $username = isset($_POST['username']) ? trim($_POST['username']) : '';
     $password = isset($_POST['password']) ? trim($_POST['password']) : '';
     $email     = isset($_POST['email']) ? trim($_POST['email']) : '';
     $tel       = isset($_POST['tel']) ? trim($_POST['tel']) : '';
     $mobile    = isset($_POST['mobile']) ? trim($_POST['mobile']) : '';
     $address   = isset($_POST['address']) ? trim($_POST['address']) : '';


22.模板文件里面相对于21步骤需要添加相关的<input>数据代码。
sites/a8vsctest/themes/meilele/userb_passport.dwt  用vim 编辑器编辑。


23.修改includes/lib_passport.php 这一步的修改后来取消了。删除了$username变量的添加。没有做。

添加需要的字段。如下:register()函数添加形参变量。
function register($username, $password, $email, $tel, $mobile, $address)
{

第26步骤暂时不做。直接到第27步。这个文件的调用设计范围太宽。modules下的模版文件不要轻易修改.
只好在integrates.php 中添加函数了。

26.复制include/modules/integrates/integrates.php
命名为integratesb.php 然后对integratesb.php文件中的函数加_pro
add_user 变为 add_user_pro

为了考虑函数的兼容性,以及和整体后台的兼容性。后续的修改需要特别小心了。搞个东东还真不容易。


27.在include/modules/integrates/integrates.php中添加我们需要的函数。331行

a.添加一个新的入驻商城函数function add_user_pro(,,,)


28.这一步后来也没有了。


29.可以吧include/lib_passport.php复制一份 修改为lib_passportb.php 修改userb.php中对lib_passportb.php的引用。
或者可以直接修改lib_passport.php中的add_user()函数为add_user_pro()第77行。
我这里是跳过了第29步。

30.修改include/modules/integrates/integrate.php中的add_user_pro()的表调用users为users_pro
add_user_pro()函数部分的修改。
//下面事原始的部分。
         if ($res)
         {
            $new_id = $this->db->Insert_ID();
             return $new_id;
             
         }
         else
         {
             $this->error = ERR_USERNAME_EXISTS;
            return 0;
            
         }
         //后面这个事我修改的部分。
         
         if ($res)
         {
            // $new_id = $this->db->Insert_ID();
             //return $new_id;
             if ($this->need_sync)
            {
            $this->sync($username, $password);
            }

           return true;
         }
         else
         {
             $this->error = ERR_USERNAME_EXISTS;
             //return 0;
             return false;
         }

31.这一步又有错误了。
根目录下的userb.php和adminb/users.php 两个文件都是需要修改的。也就是双入口登录。
用户单入口注册。 前台注册和后台注册数据库字节不同。需要调整。

这里修改根目录下的userb.php中的所有表为user_pro


32. 复制admin_user为admin_provider表入驻用户直接登录表。


33.修改userb.js中的374行user.php为userb.php


34.取消adminb/includes/init.php 中users_pro的修改。
admin_user需要调整为admin_provider


35.在includes/modules/integrates/integrate.hp中增加一个函数check_user_pro()

检查用户登录名称是否已经存在。指定检查表为$this->table('users_pro').


36.修改userb.php281行的
check_users为check_users_pro;
admin_registered 为 admin_registered_pro

37.新加一个函数 admin_registered_pro
includes/lib_passport.php 第393行。
function admin_registered_pro( $adminname )
{
    $res = $GLOBALS['db']->getOne("SELECT COUNT(*) FROM " . $GLOBALS['ecs']->table('admin_provider') .
                                  " WHERE user_name = '$adminname'");
    return $res;
}


38. 增加函数check_email_pro在729行
include/modeles/integrates/integrate.php
function check_email_pro($email)
    {
        if (!empty($email))
        {
          /* 检查email是否重复 */
            $sql = "SELECT " . $this->field_id .
                       " FROM " . $this->table('admin_provider').
                       " WHERE " . $this->field_email . " = '$email' ";
            if ($this->db->getOne($sql, true) > 0)
            {
                $this->error = ERR_EMAIL_EXISTS;
                return true;
            }
            return false;
        }
    }

39.修改userb.php 295行 check_email 为 check_email_pro


40.修改 user.php 278行为下面的,三个表都检查没有同名的
if ($user->check_user_pro($username) || $user->check_user($username) || admin_registered_pro($username))


41.修改 user.php 292行为下面的,三个表都检查没有同名的
 if ($user->check_email($email) || $user->check_email_pro($email) || $user->check_email_provider($email))

42.修改includes/lib_passport.php第71行
 if (admin_registered($username) || admin_registered_users($username) || admin_registered_pro($username))

43.include/modeles/integrates/integrate.php 第331行
修改add_user_pro函数
加入以下一段
/* 插入入驻商户数据库 */
         $sqlb = 'INSERT INTO ' . $GLOBALS['ecs']->table('admin_provider') . '(' .
                     $this->field_name . ', ' . $this->field_email . ', ' . $this->field_pass . ',' . $this->field_reg_date .
                 ' ) VALUES ( ' .
                     "'$username', '$email', '$password', " . time() . ')';
         $resb = $this->db->query($sqlb);

验证插入是否正常



44.admin_provider下增加一个reg_time字段

45.通过vim命令复制userb_passport.dwt文件为ulogin_pro.dwt文件,。然后修改其内容。
再ulogin_pro.dwt文件中加入login.htm的数据元素,并且让ulogin_pro.php提交到privilege.php进行处理。
这个就完成了入驻商户直接登录到管理后台的功能。
把ulogin_pro.php中的所有 userb.php替换为ulogin_pro.php

46.修改 ulogin_pro.php从第304行开始。
languages/zh_cn/ulogin_pro.php语言文件夹下复制userb.php 为ulogin_pro.php

第45步到第46步暂时没有搞通。想建立一个直接登录到后台的这么一个前台程序这个没有高通。暂停。

想其他办法。

47.移动css,采取这个方法把漂亮的界面移动到loginb.htm下。
复制css文件到adminb/

48.修改前台链接文件:themes/meilele/library/page_header.lbi
修改文件内的链接增加一个入驻商城的链接到后台adminb/index.php
需要修改css把前台的顶部文件修改正确.


49.修改后台显示adminb/templates/top.htm
第402行。认证资料,账户设置导航
并增加以下几行,重复的删除掉。
<li><a href="index.php?act=renzheng" target="main-frame">商家认证</a></li>
<li><a href="index.php?act=main" target="main-frame">销售统计</a></li>
<li><a href="privilege.php?act=modif" target="main-frame">账户设置</a></li>


50.编辑start.htm删除多余的信息。只留下订单统计信息
<!-- start goods statistics -->删除掉这一行以下的所有表格的<tr></tr>行

51.找到 adminb/privilege.php文件,找到templates中的模板文件privilege_info.htm
发现pageheader.htm中没有body的结束标签。我找了引用文件。竟然也没有body的结束标签。问题?
注销掉pageheader.htm的以下内容。
<!--
{if $action_link}
<span class="action-span"><a href="{$action_link.href}">{$action_link.text}</a></span>
{/if}

{if $action_link2}
<span class="action-span"><a href="{$action_link2.href}">{$action_link2.text}</a>&nbsp;&nbsp;</span>
{/if}
-->

52.编辑privilege_info.htm取消:设置个人导航,
从第56行{/if}开始,注销掉到100行所有的行<tr></tr>注意不要多注销。
看看结果。用户名到重置都有的。就正确了。


53.复制一个模板文件renzheng.htm ,修改内容。
privilege_info.htm这个文件中的 第115行,var action = "{$action}";  
修改过。取消修改了。复原为原始文件。


54.再第158行新加认证
elseif ($_REQUEST['act'] == 'renzheng')
{   $_LANG['ur_config']  = "商家认证";
    $smarty->assign('renzhengzd', $_LANG['ur_config']);

    //获取支付方式
    
    
    $smarty->assign('ur_here', $_LANG['ur_config']);
    $smarty->display('renzheng.htm');

}

55.密码修改不知道提交到哪里去了。
renzheng.htm
先注销消掉privilege.php的第364行  /*判断管理员是否已经存在 */ Email地址是否有重复的功能


56.注销掉{$lang.shop_guide},在top.htm的201这个一行的<tr></tr>.


57.修改注册成功的最后跳转链接
userb.php 第245行 array($back_act, 'userb.php')替换为'adminb/index.php'
函数主体在lib_main.php中.

58.开发到这里。基本上可以注册和登录了。就是部分页面重复。导致管理员页面看到的还是被修改过的文件。
这里我我就把所有adminb中修改过的文件统一在文件中加一个字母b,加在哪里呢?加在如top.htm就是topb.htm
文件名前缀的最后一个字母


59.开始修改了。管理后台后来统一修改为zd_top.htm,统一增加前缀zd_.
现吧top.htm替换过来.adminb下的top.htm复制为topb.htm.
把原版本top.htm注意不是admin下的。必须要其它新站目录下的。复制过来覆盖掉 top.htm
并修改所有adminb下的文件对topb.htm的引用为topb.htm

吃大亏了。模板文件一担缓存,就是通用的。好多个文件都需要修改。
仔细想想。好像也不用全部重来。只需要把后台管理部分修改久可以。

adminb/templates/topb.htm
adminb/templates/startb.htm
adminb/templates/privilege_infob.htm
adminb/privilegeb.php  //php程序好像是可以不用加b字幕。不会缓存。只有模板文件会缓存。

修改完以上几个文件好像就是可以了。
adminb/templates/privilege_listb.htm


60.修改注册到users_pro和admin_provider的新用户。直接只注册到
vsc_users和vsc_admin_user
因为如果新建立表。划分权限和删除,保存无法利用。


61.调整第36步的修改。
if ($user->check_user($username)  || admin_registered($username) || $user->check_user_pro($username) || admin_registered_pro($username))
    
62.撤销第8步的修改。

修改adminb/includes/init.php中的全部admin_provider为admin_user

63
修改/userb.php中的全部users_pro为users

64.重新修改第30步.
修改include/modules/integrates/integrate.php中的add_user_pro()的表调用users_pro为users
add_user_pro()函数部分的修改。admin_provider为admin_user


65.修改adminb/privilege.php
admin_provider  修改为 admin_user


*****

66.取消第48步的修改,把商城入驻的链接添加到底部。
(修改前台链接文件:themes/meilele/library/page_header.lbi
修改文件内的链接增加一个入驻商城的链接到后台adminb/index.php
需要修改css把前台的顶部文件修改正确.)


67.修改userb.php登录界面分买家登录和商家登录。
修改userb_passport.dwt文件。增加一个商户登录入口到注册链接前面。
sites/a8vsctest/themes/meilele/userb_passport.dwt

68.修改adminb/privilege.php,和修改admin/privilege.php代码一样。
第332行 代码:
 $ec_salt=rand(1,9999);
    $password = !empty($_POST['new_password']) ? ", password = '".md5(md5($_POST['new_password']).$ec_salt)."'"  : '';
插入这两行到
include/modeles/integrates/integrateb.php 第331行

69.修改入驻注册时密码增加随机码ec_salt


修改以下部分插入数据库时的代码。
在add_user_pro()函数的最前面,现吧password的值付给passwordb,并定义随机编码.
 $passwordb = $password;
 $ec_salt=rand(1,9999);
然后对passwordb进行加密
$sqlb = 'INSERT INTO ' . $GLOBALS['ecs']->table('admin_user') . '(' .
                     $this->field_name . ', ' . $this->field_email . ', ' . $this->field_pass . ','.'ec_salt'.',' . $this->field_reg_date .
                 ') VALUES ( ' .
                     "'$username', '$email', '$passwordb', '$ec_salt', " . time() . ')';

测试后成功搞定。

70.添加comapny_name参数到admin_user表中.和admin_provider中.char(30).

第77行includes/lib_passport.php 调用了add_user_pro函数.只带了3个参数.
为了避免错误,我们再定义一个4个参数的add_user_pro_new函数.用于插入新注册数据的数据。
add_user_pro_new函数包含好company_name的值。

71.在includes/lib_passport.php
新增加一个registerb函数
修改第187行的registerb函数中的add_user_pro为add_user_pro_new,添加$companyname变量到形参中.

include/modules/integrates/integrate.php中.
includes/lib_passport.php
以上两个文件的函数我们读修改了变量companyname,现在我们来测试一把。注册, 没有看到值,哪里错了呢。
原来是userb.php 调用函数还没有修改过来.

72.修改第208行userb.php register为registerb,并加上形式参数$companyname.
再测试。ok啦。

73.下面来开始分单的功能.
现在数据库中goods表最后添加6个字段
用户登录companyid, char(30)
随机编码ucode, int(5)  这里的随机编码需要等于admin_user中的ec_salt,验证加强.
验证码ucheck, char(10)
发布审核scheck, smallint(1) 默认都为-1
上架状态upstate, smallint(1) 默认都为-1
下架状态downstate。smallint(1)默认都为-1

74.
includes/fckeditor/fckeditor.php;// 包含 html editor 类文件

75.复制goods.php为新的goodsb.php
数据插入在827行。我们需要吧73步添加的信息插入到goods表中.


76. // 添加入驻商分单资料goodsb.php中添加105行的内容。act=‘add’的最前面.
第850行插入数据companied,code,if和else两个都需要修改哦。
测试,发现数据库没有成功添加商家信息

77.在插入商品485行加入 后来这里添加了一个sellercode的插入,因为ec_salt可能改变所以这里改用ucode和sellercode
// 添加入驻商分单资料
            $companyid = $_SESSION['admin_name'];
            $user_namec = "";
            //$ec_saltc = "";//后来取消
            $ucode = "";// 后来加入
            $sellercode = "";// 后来加入
           $sqlb =  "SELECT user_name,ec_salt,ucode,sellercode" .
                    " FROM " . $ecs->table('admin_user') .
                    " WHERE user_name = '$companyid' ";
                    
            $resb = $db->query($sqlb);
            if($row = $db->fetchRow($resb))
            {
            $user_namec = $row['user_name'];
            $ec_saltc = $row['ec_salt'];
            
            }
            else{
            
            }
****
/* 入库 */878行修改插入数据库的字段中增加ucode,sellercode
    if ($is_insert)
更新了integrate.php
goods.php
index.php
privilege.php
新建立了zd_about_us.htm
zd_pageheader.htm
zd_top.htm

78.

$sqlb =  "SELECT user_name,ec_salt" .
                    " FROM " . $ecs->table('admin_user') .
                    " WHERE user_name = '$companyid' ";
                    
            $resb = $db->query($sqlb);
            if($row = $db->fetchRow($resb))
            {
            $user_namec = $row['user_name'];
            $ec_saltc = $row['ec_salt'];
            
            }
            else{
            
            }

获取admin用户名失败。
搞了好久。不知道$_SESSION['admin_id’]这个只是id。
user_name对应的是$_SESSION['admin_name’].猜对了很爽啊!!!

成功解决了从数据库选择数据,插入数据的过程。

79.修改adminb/index.php中的admin_provider为admin_user

80.
suppliers_list_info函数定义在adminb/includes/lib_main.php中
suppliers_list_name函数定义在adminb/includes/lib_main.php中

lib_main.php添加suppliers_list_name_pro()函数867行
函数顶部添加以下代码:
         $companyid = $_SESSION['admin_name'];
            $user_namec = "";
            $ec_saltc = "";
           $sqlb =  "SELECT user_name,ec_salt" .
                    " FROM " . $ecs->table('admin_user') .
                    " WHERE user_name = '$companyid' ";
                    
            $resb = $db->query($sqlb);
            if($row = $db->fetchRow($resb))
            {
            $user_namec = $row['user_name'];
            $ec_saltc = $row['ec_salt'];
            
            }
            else{
            
            }

/* 查询 */修改为
$suppliers_list = suppliers_list_info_pro(" is_check = 1 and companyid ='$user_namec' and ucode='$ec_saltc' ");


81.添加suppliers_list_info_pro函数,复制suppliers_list_info
函数体没有做修改,只是函数名称修改了。
对suppliers表增加companyid char(30)和ucode int(5)字段


82.adminb/goods.php的第30行添加
以下代码:
//这里是入驻商分单的代码
            $companyid = $_SESSION['admin_name'];
            $user_namec = "";
            $ec_saltc = "";
           $sqlb =  "SELECT user_name,ec_salt" .
                    " FROM " . $ecs->table('admin_user') .
                    " WHERE user_name = '$companyid' ";
                    
            $resb = $db->query($sqlb);
            if($row = $db->fetchRow($resb))
            {
            $user_namec = $row['user_name'];
            $ec_saltc = $row['ec_salt'];
            
            }
            else{
            
            }
   //这里是入驻商分单的代码

83.修goods_list函数,函数定义在adminb/includes/lib_goods.php
的第812行.函数体最前面添加以下代码:局部变量获得数据库的值.
            $companyid = $_SESSION['admin_name'];
            $user_namec = "";
            $ec_saltc = "";
           $sqlb =  "SELECT user_name,ec_salt" .
                    " FROM " . $ecs->table('admin_user') .
                    " WHERE user_name = '$companyid' ";
                    
            $resb = $db->query($sqlb);
            if($row = $db->fetchRow($resb))
            {
            $user_namec = $row['user_name'];
            $ec_saltc = $row['ec_salt'];
            
            }
            else{
            
            }


在函数题的/* 记录总数 */的sql语句执行之前插入以下一句话。

//这里是入驻商分单的代码
        $where .= " and companyid = '$user_namec' and ucode='$ec_saltc' ";
        
        //这里是入驻商分单的代码

        /* 记录总数 */

以下函数做了变更goods.php中的
 //$suppliers_list_name = suppliers_list_name_pro();
    $suppliers_list_name = suppliers_list_name_pro(" is_check = 1 and companyid ='$user_namec' and ucode='$ec_saltc'  ");
    
84.lib_main.phpz中的函数修改为以下的形式.
function suppliers_list_name_pro($conditions = '')
{

    /* 查询 */
    
    $where = '';
    if (!empty($conditions))
    {
        $where .= 'WHERE ';
        $where .= $conditions;
    }

    //$suppliers_list = suppliers_list_info_pro(' is_check = 1 ');
    $suppliers_list = suppliers_list_info_pro($where);
    
    
    //$suppliers_list = suppliers_list_info_pro(" is_check = 1 and companyid ='$user_namec' and ucode='$ec_saltc' ");
    /* 供货商名字 */
    $suppliers_name = array();
    if (count($suppliers_list) > 0)
    {
        foreach ($suppliers_list as $suppliers)
        {
            $suppliers_name[$suppliers['suppliers_id']] = $suppliers['suppliers_name'];
        }
    }

    return $suppliers_name;
}


85.adminb/includes/lib_goods.php的第946行
//这里是入驻商分单的代码  全局变量获得数据库值
      //这里是入驻商分单的代码  全局变量获得值
       $companyid = $_SESSION['admin_name'];
            $user_namec = "";
            $ec_saltc = "";
            $sqlb = "SELECT companyid,ucode FROM " .$GLOBALS['ecs']->table('goods'). "  WHERE companyid='$companyid' ";
        //$resb = $GLOBALS['db']->getOne($sqlb);
         //$resb = $GLOBALS['db']->getRow($sqlb);
         if($resb = $GLOBALS['db']->getRow($sqlb))
         {
         $user_namec = $resb['companyid'];
         $ec_saltc  = $resb['ucode'];
         }
        //

拼接一条经典的where 语句
        //这里是入驻商分单的代码
        
        $where .= " and companyid = '".$user_namec."' and ucode='".$ec_saltc."' ";
        
        //这里是入驻商分单的代码


86.
新建立goods_searchb.htm  添加入驻上companyid和ucode过滤条件。我测试的已经过滤了。暂时没有修改

87.修改入驻商后台菜单功能.


88.admin_user表中添加一个sellercode字段char(8)。用于订单区别验证
在goods表中也添加一个sellercode字段.入驻注册后一直不变的是companyid和sellercode字段。唯一区分各个卖家。

89.检查前台订单flow.php找到订单保存函数。往订单中加入companyid和sellercode的值

cart表中有一个goods_id通过这个id值来找到goods表中的入驻商家id和sellercode
flow.php  2065行修改insert into 功能添加两个字段.



90.前台购买运费无法显示问题修复.
然后打开模板文件目录下的flow.dwt文件
搜索
<div class="flowBox">
    <h6><span>{$lang.shipping_method}</span></h6>
修改为
<div class="flowBox" style="display:none">
    <h6><span>{$lang.shipping_method}</span></h6>
搜索
<input name="shipping" type="radio" value="{$shipping.shipping_id}" {if $order.shipping_id eq $shipping.shipping_id}checked="true"{/if} supportCod="{$shipping.support_cod}" insure="{$shipping.insure}" οnlοad="selectShipping(this)" checked="checked" />
修改为
<input id="shipping" name="shipping" type="radio" value="{$shipping.shipping_id}" {if $order.shipping_id eq $shipping.shipping_id}checked="true"{/if} supportCod="{$shipping.support_cod}" insure="{$shipping.insure}" οnlοad="selectShipping(this)" checked="checked" />
修改完成之后 在文件底部加入
<script>
οnlοad=selectShipping(document.getElementById('shipping'));
</script>

flow_order_info()函数在includes/lib_order.php文件的第1870行。如果有代码插入。可能行位有变动。
function last_shipping_and_payment()这个函数也可以修改shipping_id 和 pay_id的默认值为数据库表总对应的快递盒支付方式的表id值.我的是快递10.支付宝1
测试了好多次都没有出来。我吧数据库order_info里面的shipping_id改为10pay_id改为1。是因为对应的发货付款的表id是那个数.


91.测试mail函数服务器
<?php
if (function_exists('mail')) {
  echo "mail functions are available.<br />\n";
} else {
  echo "mail functions are not available.<br />\n";
}
?>


92.在order_goods后面加两个字段companyid 和sellercode
在order_info后面添加两个字段companyid 和sellercode

修改order.php中的函数order_list(),为order_list($sellerid,$sellercode);
在第4881行添加
 $where .= " AND o.companyid = '".$sellerid."' AND o.sellercode='".$sellercode. "' ";

93.order.php 中act= list 第60行添加一下代码:
  //商城分单代码
    $companyid = $_SESSION['admin_name'];
            $sellerid = "";
            $sellerco = "";
           $sqlb =  "SELECT user_name,sellercode" .
                    " FROM " . $ecs->table('admin_user') .
                    " WHERE user_name = '$companyid' ";
                    
            $resb = $db->query($sqlb);
            if($row = $db->fetchRow($resb))
            {
            $sellerid = $row['user_name'];
            $sellerco = $row['sellercode'];
            
            }
            else{
            
            }
     //商城分单代码
修改函数的参数为
order_list($sellerid,$sellerco);


94.128行.修改订单管理的查询功能.
order_list($sellerid,$sellerco);和函数
ecs_header("Location: flow.php?step=checkout\n");跳转链接
ecs_header("Location: flow.php?step=checkout\n");跳转链接

95.
在2049行.//order_info的修改
/* 插入订单表 */
    $error_no = 0;
    do
    {
        $order['order_sn'] = get_order_sn(); //获取新订单号
        $GLOBALS['db']->autoExecute($GLOBALS['ecs']->table('order_info'), $order, 'INSERT');

        $error_no = $GLOBALS['db']->errno();

        if ($error_no > 0 && $error_no != 1062)
        {
            die($GLOBALS['db']->errorMsg());
        }
    }
这里有一点绕弯,goods表中有companid和sellercode.在order_goods表中有goods_id可以对应的查询出goods中对应的companyid和sellercode

另外 order_goods表中有companid和sellercode后.在order_info表中的order_id可以对应的查询出order_goods中对应的companyid和sellercode
然后原子操作保存companyid和sellercode到order_info表中。

96..2065行 'order_goods'
//更新分单编号
     //更新分单编号
    $goods_idb ="";
    $sqlb = " SELECT goods_id ".
            " FROM " .$ecs->table('cart') .
            " WHERE session_id = '".SESS_ID."' AND rec_type = '".$flow_type."' ";
     $resb = $db->query($sqlb);
            if($row = $db->fetchRow($resb))
            {
           $goods_idb = $row['goods_id'];
           //获得了goods_id把对应的companyid 和sellercode查找出来,update到order_info表
              $sqlc =  "SELECT companyid,sellercode" .
                    " FROM " . $ecs->table('goods') .
                    " WHERE goods_id = '".$goods_idb."' ";
                    
            $resc = $db->query($sqlc);
            if($rowc = $db->fetchRow($resc))
            {
            $companyid = $rowc['companyid'];
            $sellercode = $rowc['sellercode'];
            //查找成功,update到order_info表
            $sqlu = "update " . $ecs->table('order_info') .
                    " SET companyid='".$companyid."' , sellercode='".$sellercode."' WHERE order_id = '".$new_order_id."' ";
             $db->query($sqlu);
            //
            
            }
            else{
            
            }
        //
            
        }else{
            
            }
    //到此步分单的功能基本完成。添加商品,订单查询。分开了。

97..






/* session 不存在,检查cookie */
    if (!empty($_COOKIE['ECS']['user_id']) && !empty($_COOKIE['ECS']['password']))
    {
        // 找到了cookie, 验证cookie信息
        $sql = 'SELECT user_id, user_name, password ' .
                ' FROM ' .$ecs->table('users') .
                " WHERE user_id = '" . intval($_COOKIE['ECS']['user_id']) . "' AND password = '" .$_COOKIE['ECS']['password']. "'";

        $row = $db->GetRow($sql);

        if (!$row)
        {
            // 没有找到这个记录
           $time = time() - 3600;
           setcookie("ECS[user_id]",  '', $time, '/');
           setcookie("ECS[password]", '', $time, '/');
        }
        else
        {
            $_SESSION['user_id'] = $row['user_id'];
            $_SESSION['user_name'] = $row['user_name'];
            update_user_info();
        }
    }

    if (isset($smarty))
    {
        $smarty->assign('ecs_session', $_SESSION);
    }




  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
1、商家入驻5.0将商家后台和网站管理者后台分的更清楚,商家后台有专门的栏目管理商家入驻项 2、入驻商家的管理后台保留了和管理员后台一样更多的实用功能,使商家的生意做的更有把握,能清晰的掌握销售、产品等的有价值的数据,商家后台如图: 从上图左边的功能列表足以看出商家入驻5.0商家后台功能的强大 3、商家入驻5.0拥有和4.0一样的分单功能,但是显示列表比4.0更加强大清晰 4、商家入驻5.0除了可以管理自己的商品和订单等信息外,还拥有商家自己的店铺,与4.0不同的是,商家店铺完全可以自己DIY,豪华、清新、优雅只要你想,您就可以做到100%的满意店铺,商家可以登录自己的后台对店铺进行装修,除了商家可以拥有自己理想的店铺外,店铺热销商品排行,商品搜索,按销量、价格、评论排序功能,视频中有相关介绍。 5、商家除了可以用网站的分类外,也可以自己设置店铺的分类,点击分类查看产品时,也可以按照分类设置的属性检索商品,这个功能,可以说是商创独家开发,其他相同产品都没有的功能,添加商品时,可以同时选择网站和店铺自己的分类: 6、商家入驻5.0增加了系统根据完成订单自动计算佣金的功能,佣金计算为实时动态计算的,随时可以查看截止当天获得商家的佣金情况,网站运营商可以设置每个商家的平台使用费、佣金比率等信息如图: 7、有了商家商品展示,当然需要商家店铺展示,所以商家入驻5.0增加了“店铺街”功能模块,但不是所有商家的店铺都可以展示在这里,只有申请加入“店铺街”,并且经过网站运营者允许才可以显示在“店铺街”的,管理员后台有相应的“店铺街设置” 店铺街可以设置分类、店铺标签和推荐分类店铺 8、商家入驻5.0可以得到买家缺货登记的信息,有助于商家及时补货。网站运营商和商家可以用过后台个人留言来传达私密信息,信息只有管理者和商家两者看到,第三商家无法看到。 9、最后值得一提的是,5.0还有商家店铺模板选择功能,我们将提供部分免费店铺代码和收费店铺代码,所以您不必担心商家入驻后不会装修店铺怎么办,我们酌情做出跟多店铺代码,或许您可以代理哦 总结:上面简单描述了商家入驻5.0的强大功能,相比4.0无论是数据结构还是用户体验,商业营销价值都有质的提升,究竟商家入驻5.0有多强大,恐怕只有您用了才知道,才能体会,小编也是有些激动啊。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值