0

我在 Magento phtml 文件中有一些带有 ajax 的 jQuery,该文件发布到我拥有的自定义 php 脚本。我想要做的是在自定义 php 脚本中创建一个 Magento 会话,该值在进行 ajax 调用的 phtml 文件中可用。

例如 phtml 文件(类别列表页面)有 ajax 调用:

$.ajax({     
type: "POST",     
url: "/php/process.php",     
data: dataString,     
success: function(){       
location.reload();
    }     
    });

成功调用了我的自定义 php 脚本(process.php)。

process.php 包含以下用于测试的代码:

require_once ("/app/Mage.php");
umask(0);
Mage::app();  
$returnedString= "123";
Mage::getSingleton('core/session')->setMyValue($returnedString);

我也用 session_start() 试过这个。

现在在 phtml 文件中测试会话是否处于活动状态,我有以下测试代码:

if(Mage::getSingleton('core/session')->getMyValue()=='123'):
   echo "Session created";
else:
   echo "Session not created";
endif;

如果我在 phtml 文件中显示会话数组,则会话也不可见。我不确定我哪里出错了。

任何帮助是极大的赞赏。提前致谢。

4

1 回答 1

1

你正在尝试的是不可能的。phtml 文件是在您对网站的第一次请求时解释的。在解释之后,您会得到一个带有 javascript 的 html 文件作为服务器的响应。之后,您的浏览器会解释 Javascript 并执行 ajax 调用。这是一个全新的要求。您的 phtml 文件不会再次呈现或解释。

当您想用一些内容来实现您的网站时,您必须将该内容作为对您的 ajax 调用的响应。

于 2013-01-25T12:49:28.317 回答