我已经使用 html5 音频标签实现了在整个网站上播放的音乐,header.phtml
并且用户可以选择单击图标以使音乐静音。该操作按以下步骤进行:
1) 图标被包裹在其代码如下的表单中:
<form method="post" id="unmute_form" action="process_unmute.php">
<input type="submit" id="mute" name="mute" value="" style="background: url('music/mute.png')" />
</form>
<form method="post" id="mute_form" action="process_mute.php">
<input type="submit" id="mute" name="mute" value="" style="background: url('music/speaker.png')" />
</form>
2)用户点击静音图标和表单正在通过 ajax 提交到外部 php 文件以使用以下代码设置 magento 会话:
require_once ("../app/Mage.php");
Mage::app();
Mage::getSingleton('core/session')->setMuted('true');
3) 使用 jQuery 通过 ajax 提交表单:
$("form#mute_form").submit(function() {
$.ajax({
url: "musicFolderAtRoot/process_mute.php",
type: "POST",
data: { },
dataType: "json",
success: function(data) { }
});
return false;
});
我已经在一个 php 项目中应用了相同的逻辑,它工作正常,但在 Magento process_mute.php 文件中没有设置会话值。
任何线索我如何从 phtml 文件中调用我的 php 文件,我认为我的 php 文件无法设置会话,因为将 php 文件放在错误的目录中,因此会话无法访问(尝试root/folder
过app/design/frontend/base/default/template/page/html/
)
或者
我需要创建一个 magento 模块来拥有这个简单的会话设置功能(这个小任务的痛苦任务)