Opencart 为 opencart 添加产品选项

2023-12-09

除了产品选项外,我的购物车似乎正常运行。当我单击“添加购物车”按钮时,会添加该项目,但不会添加任何选项。我真的不明白为什么会发生这种情况,因为我已经按照函数的要求将选项作为数组提交了,使用option_id and option_value_id

单击按钮时调用 JavaScript

$('#button-cart').on('click', function() {
    var model_select = $('#model option:selected').val();

    alert("working");
    $.ajax({
        url: '<?php echo $action?>',
        type: 'post',
        data: {'option' : $('#network option:selected').val(),'product_id': model_select, 'ajax':'1'},
        success: function(json) {
            $('.success, .warning, .attention, information, .error').remove();

            if (json['error']) {
                if (json['error']['option']) {
                    for (i in json['error']['option']) {
                        $('#option-' + i).after('<span class="error">' + json['error']['option'][i] + '</span>');
                    }
                }
            } 

            if (json['success']) {
                $('#notification').html('<div class="success" style="display: none;">' + json['success'] + '<img src="catalog/view/theme/default/image/close.png" alt="" class="close" /></div>');

                $('.success').fadeIn('slow');

                $('#cart-total').html(json['total']);

                $('html, body').animate({ scrollTop: 0 }, 'slow'); 
            }   
        }
    });
    });

PHP

if (isset($_REQUEST['product_id']) && isset($_REQUEST['option'])) {
            $product_id = $_REQUEST['product_id'];
            $option=array("13" => (int)$_REQUEST['option']);
            var_dump($option);
            $this->cart->add($product_id,$quantity=1,$option);
            print_r($this->session->data['cart']);

        }  

这里是var_dump选项数组的

array(1) { [13]=> int(60) }

FirstOption($key=>value) 您已传递 $key => 13 ,这应该是有效的密钥

在数组中Option($key=>$Value) where $key代表product_option_id and $value代表Product_option_value_id of product_option_value表,因此这些应该是有效的,当您将选项分配给产品而不是静态 ID 时,它们是动态分配的。

**第二**只需使用 opencart 的默认方法,这也可以处理其他输入类型

$('#button-cart').bind('click', function() {
    $.ajax({
        url: 'index.php?route=checkout/cart/add',
        type: 'post',
        data: $('.product-info input[type=\'text\'], .product-info input[type=\'hidden\'], .product-info input[type=\'radio\']:checked, .product-info input[type=\'checkbox\']:checked, .product-info select, .product-info textarea'),
        dataType: 'json',
        success: function(json) {
            $('.success, .warning, .attention, information, .error').remove();

            if (json['error']) {
                if (json['error']['option']) {
                    for (i in json['error']['option']) {
                        $('#option-' + i).after('<span class="error">' + json['error']['option'][i] + '</span>');
                    }
                }

                if (json['error']['profile']) {
                    $('select[name="profile_id"]').after('<span class="error">' + json['error']['profile'] + '</span>');
                }
            } 

            if (json['success']) {
                $('#notification').html('<div class="success" style="display: none;">' + json['success'] + '<img src="catalog/view/theme/default/image/close.png" alt="" class="close" /></div>');

                $('.success').fadeIn('slow');

                $('#cart-total').html(json['total']);

                $('html, body').animate({ scrollTop: 0 }, 'slow'); 
            }   
        }
    });
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Opencart 为 opencart 添加产品选项 的相关文章

  • 如何使用canvas.toDataURL()将画布保存为图像?

    我目前正在构建一个 HTML5 Web 应用程序 Phonegap 本机应用程序 我似乎不知道如何将画布保存为图像canvas toDataURL 有人可以帮我吗 这是代码 有什么问题吗 我的画布被命名为 canvasSignature J
  • 使用 CryptoJS 更改密钥 [重复]

    这个问题在这里已经有答案了 我正在使用 CryptoJS 来加密和解密文本 在这里 我只是获取消息并显示加密和解密消息 我使用DES算法进行加密和解密 这是我的 HTML 文件
  • 在 Yii 的标准中如何获得计数 (*)

    我正在尝试构建一个具有以下内容的查询group by属性 我正在尝试得到id和count它一直告诉我count is invalid列名 我怎样才能得到count来自group by询问 工作有别名 伊伊 1 1 11 其他不及格 crit
  • jquery window.open 在 ajax 成功中被阻止

    尝试在我的 ajax 成功调用中打开一个新的浏览器窗口 但是 它被阻止为弹出窗口 我做了一些搜索 发现用户事件需要绑定到 window open 才能避免这种情况发生 我还找到了这个解决方案 您可以在 ajax 之前打开一个空白窗口 然后在
  • HTML2canvas 和 Canvas2image,下载的屏幕截图不显示我的 HTML 图像

    我一直在开发一个 HTML 页面 我想将其转换为图像 我一直在使用 html2canvas 和 canvas2image 脚本并采用此代码http jsfiddle net 8ypxW 3 http jsfiddle net 8ypxW 3
  • 在为 RXJS 可观察量编写测试时,如何避免让调度程序通过我的业务逻辑?

    我发现使某些测试通过的唯一方法是显式地将调度程序传递给函数 为了便于说明 请考虑以下函数 function doStuff stream return stream delay 100 filter x gt x 2 0 map x gt
  • PHP 中的引用

    我正在编写一个自定义博客引擎 并且希望拥有类似于 Wordpress 的引用 我可以查看 WordPress 源代码 但我真的更喜欢某种教程 但到目前为止我还没有找到 有没有关于在 PHP5 中实现 trackbacks 或 pingbac
  • 如果链接包含特定文本,jQuery 将类添加到 href

    我的网站上的列表中有一些动态填充的链接 这些链接链接到文件 是否可以使用 jQuery 查看文件名是否以 pdf 结尾 并在 href 或类似的链接文本以 mp3 结尾时添加一个类 例如 我的列表中有以下链接 文件1 pdf 歌曲1 mp3
  • Javascript - 将值从下拉框传递到 Google Maps API

    我正在使用 Google 地图 API 为一家出租车公司创建报价表 目前 用户在 2 个文本框中输入出发点和接载点 API 会计算两点之间的距离以及行程费用 我正在尝试添加两个具有设定位置的下拉框 以便用户可以选择这些位置之一或使用文本框输
  • Google Chrome 106 可拖动导致元素消失

    使用拖放元素时 绝对定位元素中包含的大多数其他元素都会从屏幕上消失 如果我调整窗口大小 这些元素会出现 但在开始拖动时会再次消失 我在最新版本的 Google Chrome 106 和 Beta 版本 107 0 5304 18 以及现在的
  • 在d3.js中将2D形状转换为3D,并根据ANGULAR中的值调整高度

    我正在使用 d3 js v6 创建以下 2D 图表表示的 3D 图表 这个圆圈中有多个正方形 每个正方形都根据值分配了一种颜色 值越大 正方形越暗 现在我想将其转换为 3D 形状 其中当值变高时 只有特定正方形的高度会增加 因此结果在某种程
  • Typeahead.js substringMatcher 函数说明

    我只是在做一些研究Typeahead js这是一个非常酷的图书馆 感谢文档 我已经成功地获得了一个基本的示例 该文档也非常好 但是我试图弄清楚以下代码块实际上在做什么 var substringMatcher function strs r
  • 淡出和循环一组 div 的最佳方式

    假设我有以下 div div class a You are funny div div class b You are smart div div class c You are cool div 最好的展示方式是什么div a持续 5
  • Twitter 嵌入时间轴小部件

    我继续下载http platform twitter com widgets js http platform twitter com widgets js And the http platform twitter com embed t
  • JavaScript 代码在不使用 ActiveX 的情况下截取网站屏幕截图

    我有一个用户与之交互的 JavaScript 应用程序 我需要保存当前界面的外观 裁剪出我需要的部分 或者通过指定div只拍摄我需要的部分 然后发送回服务器 显然任何外部服务都无法做到这一点 我需要一个 JavaScript 或Flash
  • JavaScript onresize 事件多次触发

    我在尝试仅在触发 onresize 事件时运行一次函数时遇到一些麻烦 我已经看过这个问题DOM onresize 事件 https stackoverflow com questions 1500312 javascript onresiz
  • 无法在前端使用 JavaScript Fetch API 将文件上传到 FastAPI 后端

    我正在尝试弄清楚如何将图像发送到我的 API 并验证生成的token那是在header的请求 到目前为止 这就是我所处的位置 app post endreProfilbilde async def endreProfilbilde requ
  • ZF3/2 - 如何捕获 EVENT_DISPATCH 侦听器中引发的异常?

    有什么方法可以在 EVENT DISPATCH 监听器中抛出异常吗 class Module public function onBootstrap EventInterface event application event gt get
  • KeyboardAvoidingView - 隐藏键盘时重置高度

    我正在使用 React NativeKeyboardAvoidingView设置我的高度View当显示键盘时 但是当我关闭应用程序中的键盘时 视图的高度不会变回原来的值
  • 使用 PHP 将 latin1_swedish_ci 转换为 utf8

    我有一个数据库 里面充满了类似的值 Dhaka 应该是 Dhaka 因为我在创建数据库时没有指定排序规则 现在我想修复它 我无法从最初获取数据的地方再次获取数据 所以我在想是否可以在 php 脚本中获取数据并将其转换为正确的字符 我已将数据

随机推荐

  • 在ggplot中使用geom_vline()复制图例

    我想创建这个图形 aux graf structure list lines structure c 2L 2L 1L 3L Label c h0 ic median class factor values c 21 19755 23 06
  • 将优化的埃拉托色尼筛从 Python 移植到 C++

    前段时间 我在 python 中使用了 速度极快 primesieve 我在这里找到了它 列出 N 以下所有素数的最快方法 准确地说 这个实现 def primes2 n Input n gt 6 Returns a list of pri
  • 实体框架 C# 中的反射

    我正在尝试使用反射通过实体框架进行动态选择 这个想法是 该方法将获取列名称 要搜索的每列的值以及每列的顺序作为参数 例如 public anEntity list String ColumnName String Value String
  • 未生成 FocusIn/FocusOut

    有人可以澄清 X11 服务器的默认焦点处理吗 我的理解是 焦点 跟随鼠标 并且如果我在不同的终端之间移动鼠标 我可以看到光标随着每个窗口获取 失去焦点而变化 但是 当我运行两个 xev 窗口并在它们之间移动指针时 当指针从一个窗口移动到另一
  • Windows/Linux iOS应用程序开发(不需要编译)[关闭]

    Closed 这个问题不符合堆栈溢出指南 目前不接受答案 我们不允许提出寻求书籍 工具 软件库等推荐的问题 您可以编辑问题 以便用事实和引文来回答 询问我们的问题推荐或查找工具 库或最喜欢的场外资源与 Stack Overflow 无关 因
  • R保存和加载数据帧

    我使用此命令保存了数据框 保存 国家数据 文件 数据 Rda 并使用此命令加载它 负载 数据 Rda 但我没有看到包含我创建的数据的表 保存单个 data framesave可能会令人困惑 因为load将 data frame 以及文件中的
  • ImageView.getMatrix() 和 ImageView.getImageMatrix() 有什么区别?

    我在不同的论坛上看到过这个问题 但没有人给出答案 getMatrix 是否处理视图中的图像位置 而 getImageMatrix 处理图像相对于自身的大小 Edit 以下是文档所说的 矩阵 getImageMatrix 返回视图的可选矩阵
  • Haskell Collection API 的“Unfoldable”类型类中函数依赖的作用

    我试图理解 Haskell 的设计Data Collection库 来自 Scala 背景 It uses 功能依赖 其中有一个Scala 模拟 但它们的使用方式对我来说没有意义 在里面Unfoldable类 复制如下 元素类型i显示为取决
  • 可以使用 Hibernate 注释定义 INITIALLY DEFERRED 约束吗?

    我有一个表 其中有一列具有唯一约束 我希望将约束检查推迟到提交时间 如果我像这样使用 Postgres SQL 创建它 省略许多列 CREATE TABLE instrument id bigint NOT NULL name charac
  • 在 MySQL 中替换

    在我的数据库中 我有一些这样的记录 有两列 Id Name 11 Meal 997 12 Meal 998 13 Meal 999 14 Meam 000 15 Meam 001 16 Meam 002 但这是应用程序中的一个问题 由于逻辑
  • 使用jsPDf将网页导出为PDF

    当用户单击按钮时 我尝试将网页导出为 pdf 文件 但下面的代码对我不起作用 任何人都可以帮助我 我哪里出错了 我正在使用 jsPDF 将网页导出为 pdf
  • Google Maps API v3 - 多次地理编码器请求后的 fitBounds

    我想要做的是使用 AJAX 和 JSON 加载一堆地址 找出每个地址的纬度和经度 在地图上放置标记 然后使用fitBounds 放大以便所有标记都可见 听起来很简单 我已经把大部分都打包好了 但我的问题是fitBounds part 基本上
  • xsd 唯一约束不起作用

    我有一个根 Inserts 标签 一系列 Inserts 标签 每个标签都有一个 name 属性 我无法让在线验证器发现存在重复的 名称 值 我们已经挣扎了 好几天了 感谢您发现 XSD
  • 如何在 SQL Server 中合并时间间隔

    假设我有以下事件表personId startDate and endDate 我想知道 X 花了多少时间做一个事件 事件可以相互覆盖 如果此人只有 1 个事件 则很简单 datediff dd startDate endDate 如果这个
  • 关闭delphi firemonkey移动应用程序(Android)中的模式对话框

    我正在花花时间试图弄清楚为什么我的模态表单不会关闭 使用 Delphi XE 5 和 FireMonkey 移动应用程序 Android 我遵循了信息 FireMonkey 移动应用程序中的显示模式对话框 出于演示目的 我创建了一个新的 F
  • Expo SDK需要Expo才能运行

    我正在世博会上运行我的项目 运行 expo pop 后 出现以下错误 Expo SDK需要Expo才能运行 即使对于一个全新的项目 我也会收到此错误 并且我无法再对世博会做任何事情 我跑 expo init Project1 然后进入项目目
  • Android:以编程方式获取硬件信息

    我需要获取运行我的应用程序的 Android 设备上的硬件相关信息 我需要以下类型的信息 CPU 制造商 型号和序列号 SD 卡制造商和序列号 相机制造商和其他相关规格 蓝牙相关硬件信息 WiFi相关硬件信息 RAM 供应商 型号 显示器供
  • 实体框架中唯一字段的选项 - dbSet 的导航属性?

    经过大量研究 实体框架 4 4 似乎不支持唯一约束 是的 它可以并且应该在数据库中完成 但我更希望它发生在模型验证中 因此对用户的警告更漂亮 对于程序员来说 能够用 Unique 属性来装饰属性是理想的 并且应该以某种方式是可能的 例如 p
  • 内存损坏

    我正在运行一个小C程序 include
  • Opencart 为 opencart 添加产品选项

    除了产品选项外 我的购物车似乎正常运行 当我单击 添加购物车 按钮时 会添加该项目 但不会添加任何选项 我真的不明白为什么会发生这种情况 因为我已经按照函数的要求将选项作为数组提交了 使用option id and option value