【问题标题】:cs-cart extending core controllers - debuggingcs-cart 扩展核心控制器 - 调试
【发布时间】:2014-09-18 14:44:56
【问题描述】:

我正在尝试在注册后立即修改用户的地址。

新建用户时,需要修改地址并添加尾随字符串,例如:####。

我创建了一个插件,添加了路径/controllers/frontend/profiles.post.php, 我已附加到 $mode == 'add' ,这就是我卡住的地方。

我如何知道哪些变量可供我使用,似乎没有办法调试、var_dump 或 echo。似乎没有任何效果。

文件正在执行,因为如果我输入了一些错误的语法,服务器会返回500 internal error

所以我的主要问题是:
如何调试任何 CS-cart 插件?

【问题讨论】:

    标签: php debugging cs-cart


    【解决方案1】:

    帕特里克,

    要找出你有哪些变量,你可以使用 fn_print_r($_REQUEST) 在哪里 fn_print_r - print_r 的漂亮 cs-cart 包装器

    实际上,profiles.php 中的变量在profiles.post.php 中不可用,因为它们是不同的变量范围。

    所以很可能您将拥有的唯一变量是全局 PHP,例如 $_REQUEST $_SERVER 等。

    看看讨论或畅销书插件 - 他们有 products.post.php 控制器,其工作方式与profiles.post.php 和任何其他后期控制器完全相同。

    【讨论】:

    • 嘿 ilya,所以即使它在配置文件 php 之后运行,它也没有得到相同的变量?我猜常规的钩子是在函数范围内运行的。谢谢!
    • Patrick,不要混淆 hooks 和 post/pre 控制器。挂钩接受您发送给它的参数。 Post/Pre 控制器没有任何变量。所以你需要使用全局变量,Registry on Constants。
    • 感谢 Ilya,让 POST 和 PRE 控制器没有获取参数感觉有点奇怪,但我想这就是它的编写方式 :) 非常感谢!
    猜你喜欢
    • 1970-01-01
    • 2018-04-25
    • 2018-11-21
    • 1970-01-01
    • 2015-01-09
    • 1970-01-01
    • 2017-08-25
    • 2020-04-09
    • 1970-01-01
    相关资源
    最近更新 更多