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


Magento session on custom php script not showing on phtml page - ajax

我在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 脚本(进程.php)。

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

任何帮助将不胜感激。提前谢谢。

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

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