You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在PrestaShop 1.7后台产品编辑页获取产品ID

获取PrestaShop 1.7后台AdminProducts控制器中当前编辑产品ID的方法

嘿,我对PrestaShop 1.7的后台开发挺熟悉的,给你几个实用的解决方案,帮你拿到当前编辑产品的ID:

方法1:直接使用控制器基类的内置变量

AdminProducts控制器继承自AdminController,这个基类在进入编辑模式时,会自动把当前对象的ID赋值给$this->id_object变量。你可以在AdminProducts的任意方法里直接调用:

// 在AdminProductsController的方法中
$current_product_id = $this->id_object;

注意:当你是新增产品时,这个值会是0,所以可以通过判断是否大于0来区分编辑和新增场景。

方法2:从请求参数中获取

虽然PrestaShop 1.7后台的友好URL里没显示产品ID,但实际请求(GET/POST)中仍然携带了id参数。你可以用后台可用的Tools类来获取:

$current_product_id = Tools::getValue('id');
// 可选:判断是否存在ID(编辑场景)
if ($current_product_id) {
    // 处理编辑逻辑
}

之前你尝试前台的Tools方法无效,可能是误解了——后台完全可以使用Tools::getValue(),只要确保在控制器上下文里调用(后台已经自动加载了Tools类,无需额外引入)。

方法3:在模板文件中获取(如果需要在前端模板用)

如果你是要在产品编辑页的.tpl模板里拿到ID,直接使用模板变量{$id}即可,后台控制器会自动把id_object传递到模板中:

<!-- 在产品编辑页的模板文件里 -->
当前编辑产品ID:{$id}

内容的提问来源于stack exchange,提问作者Shahab Ali

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.22 09:24:10