问题标签 [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.

0 投票
1 回答
53 浏览

prestashop - 如何使用 actionValidateCustomerAddressForm 钩子获取客户地址

如何使用actionValidateCustomerAddressForm,运行时地址更新详情

0 投票
1 回答
33 浏览

prestashop - 在 Prestashop 1.7 中从商店后端添加或更新地址时触发哪个钩子

当从后端添加/更新地址时触发钩子。

0 投票
1 回答
33 浏览

prestashop - 覆盖模板

我正在为客户创建一个模块,但我必须从 prestashop 经典主题中覆盖 product_variants.tpl。

我有两个问题:

  • 有没有办法在不编辑原始文件的情况下覆盖它?我是否需要创建整个主题的副本,或者是否有最干净的解决方案?

  • 如果我将覆盖该文件并且我的客户想用另一个更改经典主题,我必须再次更改覆盖,因为该文件可能有另一个名称而不是“product_variants.tpl”,对吗?有没有模块化的方法来做到这一点?

提前致谢!

0 投票
0 回答
53 浏览

prestashop - 在 prestashop 上显示产品变体的标题

如何显示产品变体的完整标题和表格

/home/website/public_html/modules/productascombinations/classes/productcombinations.php

在此处输入图像描述

0 投票
1 回答
15 浏览

prestashop - 当 ps_emailsubscription 的时事通讯列表将在 DOI 之后更新时,将触发哪个钩子

我需要一些帮助,当 ps_emailsubscription 的 newsletter-list 将在 DOI 确认后更新时将触发该钩子。

ps_emailsubscription 挂钩的可用性是什么?DOI 确认后需要触发呼叫。

提前致谢。

0 投票
0 回答
124 浏览

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 类?或者有什么替代方法可以做我需要的吗?,问候:)

0 投票
1 回答
77 浏览

prestashop - 在 Prestashop 1.7 中由 $cart 调用任何函数时出现“致命错误”

我面临一个问题,在添加产品后出现“致命错误”。

在此处输入图像描述

在此处输入图像描述

当我调用任何购物车方法时,都会导致致命错误。

PS:1.7.8.2 https://beta.claap.io/sendinblue/fatal-error-c-3YfMIiN6mG-AL7OcMGtoJMg

0 投票
1 回答
33 浏览

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 错误说:

虽然启用了调试模式,但它仍然可以正常工作..

我找不到有关已弃用的功能的任何信息,请知道如何让它再次工作?

0 投票
1 回答
23 浏览

prestashop - 在自定义模块控制器中集成搜索栏(如产品控制器中的包)

当我尝试在产品包的产品控制器中集成相同的搜索栏时,我遇到了一个问题。

在此处输入图像描述 (这个)

我一直在滚动整个产品控制器,但没有找到搜索栏的呈现位置。

我发现很少有部分与 product.js 中的输入几乎相关,但没有什么真正有趣的。

我要做的是实现与产品建议相同的搜索栏,稍后我会在创建包时了解如何像在产品控制器中一样“保存”它。

0 投票
1 回答
25 浏览

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