php – 在opencart中重建结账页面,将已注册的电子邮件作为查询字符串传递给checkout / cart

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了php – 在opencart中重建结账页面,将已注册的电子邮件作为查询字符串传递给checkout / cart脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
我需要重建结帐页面,其中包含最新的废弃产品.

如果您已登录到oPEncart消费者站点并点击此URL-http://www.example.com/index.php?route=checkout/cart,它肯定会列出购物车中的所有产品(尚未购买).

没有登录消费者网站,如果有人直接点击这个网址 – http://www.example.com/index.php?route=checkout/cart&email=someone@example.com – 它会列出所有尚未被someone@example.COM购买的产品(也称为废弃产品/购物车),前提是someone@example.com是opencart网站的注册用户.

我想将该网址中的邮件地址作为查询字符串传递到结帐/购物车页面,并使用该地址返回该客户电子邮件的废弃产品.

何在结帐/购物车页面显示该电子邮件并向用户显示废弃的购物车产品?

我对opencart非常感兴趣,我对核心功能知之甚少,所以我搜索了如何实现这一点,但是有了付费的扩展(如THIS),我的要求就是让它在URL中构建,我上面解释过.

提供:Opencart安装是库存版本,没有安装其他插件/插件.

编辑

我试过以下.

if(isset($this->request->get['email'])) 
{ 
    $email = $this->request->get['email']; 
    $cart_details = $this->db->query("SELECT cart From " . DB_PREFIX . "customer c where c.email = '" . $email . "'"); // just for tesing,i will fix this to prevent sql injection.
    $this->session->data['cart']= $cart_details->row['cart']; 
}

当我用“$cart_details-> row [‘cart’]”回显时,它获得了所需的值,但即使将该值设置为会话结账页面也没有重建被遗弃产品的列表.

我更改了checkout / controller / checkout / cart.PHP索引方法,并添加一个检查以查看自定义URL是否包含“cmail”.然后我验证网址中提供的电子邮件地址.此时,我查询数据库获取客户的“购物车”列(注意我已使用转义来阻止sql注入),然后将其解码并放入会话中.如果您使用网址“localhost / index.PHP?route = checkout / cart& cmail=some@domain.com”访问该网站,您将在页面中重建购物车.我使用了以下代码.
if(isset($this->request->get['cmail']))
{
    $email = $this->request->get['cmail'];  
    if(filter_VAR($email,FILTER_VALIDATE_EMAIL))
    {
        $cart_details = $this->db->query("SELECT cart,customer_id From " . DB_PREFIX . "customer WHERE LOWER(email) = '" . $this->db->escape(utf8_strtolower($email)) . "'");

         if($cart_details->num_rows > 0)
         {
             $cart_data = $cart_details->row['cart'];
             if ($cart_data && is_string($cart_data)) {
                 $cart = unserialize($cart_data);

                 foreach ($cart as $key => $value) {
                    $this->session->data['cart'][$key] = $value;
                 }          
             }
         }
    }
}

脚本宝典总结

以上是脚本宝典为你收集整理的php – 在opencart中重建结账页面,将已注册的电子邮件作为查询字符串传递给checkout / cart全部内容,希望文章能够帮你解决php – 在opencart中重建结账页面,将已注册的电子邮件作为查询字符串传递给checkout / cart所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。