问题标签 [prestashop-modules]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
prestashop - 如何使用 actionValidateCustomerAddressForm 钩子获取客户地址
如何使用actionValidateCustomerAddressForm
,运行时地址更新详情
prestashop - 在 Prestashop 1.7 中从商店后端添加或更新地址时触发哪个钩子
当从后端添加/更新地址时触发钩子。
prestashop - 覆盖模板
我正在为客户创建一个模块,但我必须从 prestashop 经典主题中覆盖 product_variants.tpl。
我有两个问题:
有没有办法在不编辑原始文件的情况下覆盖它?我是否需要创建整个主题的副本,或者是否有最干净的解决方案?
如果我将覆盖该文件并且我的客户想用另一个更改经典主题,我必须再次更改覆盖,因为该文件可能有另一个名称而不是“product_variants.tpl”,对吗?有没有模块化的方法来做到这一点?
提前致谢!
prestashop - 当 ps_emailsubscription 的时事通讯列表将在 DOI 之后更新时,将触发哪个钩子
我需要一些帮助,当 ps_emailsubscription 的 newsletter-list 将在 DOI 确认后更新时将触发该钩子。
ps_emailsubscription 挂钩的可用性是什么?DOI 确认后需要触发呼叫。
提前致谢。
prestashop - PrestaShop 1.7.6如何批量更新一批产品的库存量?
我从事 ERP(随机)和 PrestaShop 的集成工作,集成考虑的要点之一是产品的库存水平。当 ERP 中源自 PrestaShop 外部的产品库存发生变动时(例如,仓库之间的转移、采购、外部销售等),这些库存变化必须与 PrestaShop 的实物库存(physical_stock)同步,因为预留库存 (stock_reserved) 仅存在于 PrestaShop 上下文中,并且与尚未发货的订单中的预留产品相关,而可用库存 (stock_available) 在设计上并未考虑预留库存,那么如果 Stock来自 ERP 的分配到可用库存,到现在保留的库存将翻倍。另一方面,
这目前在生产中正常工作,但是,我正在寻找的是通过 PrestaShop 模块以最佳方式设计这些操作,该模块通过 FrontController 接收 ajax 请求,其中请求参数之一(Request->_ POST [ 'stock_quantity_changes']) 是数组格式的输入,例如:
我想用它来更新它在单个操作中包含的一组股票。到目前为止,我找到了方法 src/PrestaShopBundle/Entity/Repository/StockRepository.php->bulkUpdateStock ( https://github.com/PrestaShop/PrestaShop/blob/100c5c028b05c579f5788a036041e45cef510e1d/src/PrestaShopBundle/Entity/Repository/StockRepository.php#L102),这将允许我做我需要的事情,但是我还没有弄清楚如何创建这个类(StockRepository)的正确实例。StockRepository->bulkUpdateStock 方法接收一组库存变动 (MovementsCollection),并使用它更新一组可用库存,包括单个产品和包装中(如有必要),此外,记录库存变动 (StockMvt's),执行 actionUpdateQuantity钩住每个修改过的股票并从缓存中删除每个修改过的股票的价值,所有这些都可以在 /src/Core/Stock/StockManager.php->updateQuantity ( https://github.com/PrestaShop/PrestaShop/blob /100c5c028b05c579f5788a036041e45cef510e1d/src/Core/Stock/StockManager.php#L153)。最后,bulkUpdateStock 方法将实物库存水平与可用库存 + 预留库存同步。我有兴趣在更新一组库存以使其适应 PrestaShop 的操作时使用所有这些逻辑,因为目前只更新 stock_available 表的值,我没有注册 StockMvt,清理缓存或执行 actionUpdateQuantity 挂钩。
总之,我发现 StockRepository 类包含 bulkUpdateStock 方法,该方法允许我在单个操作中正确更新一组股票的水平,但是,实例化这个类需要一组参数,可以在https中验证://github.com/PrestaShop/PrestaShop/blob/100c5c028b05c579f5788a036041e45cef510e1d/src/PrestaShopBundle/Entity/Repository/StockRepository.php#L72,到目前为止我还没有在源代码中找到这个类的任何实例化示例,我只有发现使用该类的代码已经实例化,您可以在 src/PrestaShopBundle/Controller/Api/StockController.php 中检查(https://github.com/PrestaShop/PrestaShop/blob/100c5c028b05c579f5788a036041e45cef510e1d/src/PrestaShopBundle/Controller/Api/ StockController.php#L126)。所以最后的问题是,我怎样才能正确实例化 StockRepository 类?或者有什么替代方法可以做我需要的吗?,问候:)
prestashop - 在 Prestashop 1.7 中由 $cart 调用任何函数时出现“致命错误”
我面临一个问题,在添加产品后出现“致命错误”。
当我调用任何购物车方法时,都会导致致命错误。
PS:1.7.8.2 https://beta.claap.io/sendinblue/fatal-error-c-3YfMIiN6mG-AL7OcMGtoJMg
prestashop - PrestaShop 在更新到 1.7.8.2 后调用未定义的方法 FrontController::parseCMSContent()
我通过使用以下方法创建文件( override/classes/controller/FrontController.php )为我的 PrestaShop 创建了一些自定义简码:
在我的模块和 cms smarty 模板中,我更改了:
至:
Prestashop 1.7.7.5 一切正常,但对 1.7.8.2 的更新破坏了整个过程。
我收到一个 500 错误说:
虽然启用了调试模式,但它仍然可以正常工作..
我找不到有关已弃用的功能的任何信息,请知道如何让它再次工作?
jwt - 从 PrestaShop 中的模块登录员工
我创建了一个模块来从 REST 中的外部站点登录员工,如下所示:
A JSON Post with Authentication token and login/pass => module validate and answer an url with a JWT token like: https://example.com/module/ps_extern_auth/login_jwt?token=FyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJ3d3cuY2FtYS16b25lLmZyIiwiZXhwIjoxNjQzOTA4NjIyLCJlbWFpbCI6ImcubGF0b3JyZUBldmVybGF0cy5jb20iLCJzdWIiOiI0NiJ9.lojt_J1LzeOWYYFCHn5xIuEka-FaEw5OOGk25VXAfNk
验证此 JWT 令牌后,我编写此代码以登录员工:
这是从 AdminLoginController.php 获取的代码 如果我 var_dump $cookie,我有正确的信息。但是,当员工转到 /admin123456/index.php?controller=AdminProducts 他被重定向到登录页面(他没有登录)。
我忘记了什么吗?谢谢你的帮助。
PrestaShop 1.6 / PHP 7