关于自定义php脚本的Magento会话未在phtml页面上显示 - ajax

时间:2013-01-25 11:52:23

标签: php ajax magento session

我在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文件中显示会话数组,则会话也不可见。我不确定我哪里出错了。

非常感谢任何帮助。提前谢谢。

1 个答案:

答案 0 :(得分:1)

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

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