0

我正在调试一个有几页表单的 Magento 站点。在此过程的最后会出现一个错误。每次我想测试新的迭代时,重新输入表单非常耗时。

是否可以通过核心或扩展保存会话,然后稍后重新加载?

4

1 回答 1

2

我不知道有任何产品或项目专门这样做,但假设表单实际上将其值存储在 PHP 会话中,您可能(即我没有测试过)自己将一些东西放在一起。

当 Magento 配置为使用基于文件的会话时,您将在var/session文件夹中找到会话。$_SESSION您可以使用以下命令行脚本将此数据读入数组(假设会话名称为sess_jd88xxih1f0qp81ar5pkdkc974

<?php
    $file = file_get_contents('var/session/sess_jd88xxih1f0qp81ar5pkdkc974');
    session_start();
    session_decode($file);
    var_dump($_SESSION);

然后,您将修改 中的值$_SESSION,并使用session_encode

$_SESSION['test'] = 'foo baz bar';
$string = session_encode();
echo $string;

最后,将会话文件写回

file_put_contents('var/session/sess_jd88xxih1f0qp81ar5pkdkc974', $string);

综上所述,看看像 Selenium 这样的浏览器自动化工具。这些工具似乎是解决您所描述的问题的事实上的方法。

于 2012-11-09T23:55:04.027 回答