【问题标题】:Session is not working in Magento会话在 Magento 中不起作用
【发布时间】:2013-11-21 12:22:30
【问题描述】:

我目前正在做一个磁电机项目。我为演示目的制作了一个颜色选择器,以便用户可以更改该演示站点上的颜色。我基本上在这做的是得到颜色代码,然后进行 ajax 调用,将值存储在会话中。这在简单的 php 中效果很好。我不知道它在万磁王中是如何工作的。这是我的所有代码

我的 Ajax 代码

function colorbg(){
            var colorbg = jQuery( "#colorbgi" ).val();

            //alert( colorbg );
            jQuery.ajax({
              type: "POST",
              url: "<?php echo $this->getSkinUrl('js/ajax_set_color.php'); ?>",
              data: { colorbg: colorbg }
            })
              .done(function( msg ) {
                  alert( msg +" color code" );
                  jQuery(".menu_container").css("background-color", '#'+msg);

              });

    }

HTML 代码

<table>
        <tr>
            <td>Background Color: &nbsp;</td>
            <td><input class="color" value="66ff00" name="colorbg" id="colorbgi" onChange="colorbg()"></td>
        </tr>
    </table>

我试图存储会话的 Ajax 文件

<?php
    $inputMessage = $_REQUEST['colorbg'];
    Mage::getSingleton('core/session')->setWelcomeMessage($inputMessage);
    print $_REQUEST['colorbg'];

我获取会话值的代码

<?php
    $outputMessage = Mage::getSingleton('core/session')->getWelcomeMessage();
    echo $this->__($outputMessage);
?>

所以任何我错的建议。谢谢

【问题讨论】:

  • magento 中的会话启动是在控制器预调度操作中完成的。如果您使用的是自定义文件,则需要手动初始化。

标签: php jquery ajax magento session


【解决方案1】:

在您的 Ajax 文件中,在顶部添加以下内容:

require("app/Mage.php");
Mage::app();

这将初始化 Magento,以便您能够访问这些 Magento 会话变量。

【讨论】:

    猜你喜欢
    • 2015-11-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-26
    相关资源
    最近更新 更多