Magento - 打破半页

时间:2012-11-13 17:52:31

标签: php javascript magento

我遇到了关于magento商店的问题。页面显示的一半然后它会中断。 这是我的页面。

http://www.statecertification.com/regshop/class-locator.html

如果你看一下页面来源,这就是它打破的代码

<script type="text/javascript">

        var marker, i;
        var map;
        var store_locations = <?php echo json_encode($Stores); ?>;

任何人都可以查看,同一页面正在其他服务器上运行。

由于

7 个答案:

答案 0 :(得分:1)

启用开发者模式并设置index.php以显示错误。

第75-79行:

#if (isset($_SERVER['MAGE_IS_DEVELOPER_MODE'])) {
    Mage::setIsDeveloperMode(true);
#}

ini_set('display_errors', 1);

这将启用它 - 确保在完成后恢复它。

同时检查/var/log以及您的Apache日志文件夹,以确切了解其原因。

答案 1 :(得分:0)

用单引号括起来:

var store_locations = '<?php echo json_encode($Stores); ?>';

答案 2 :(得分:0)

您不需要回声:

 var store_locations = <?= json_encode($Stores); ?>;

答案 3 :(得分:0)

你使用的是什么版本的magento和php,因为它肯定是一个php错误? json_encode需要php&gt; = 5.2.0

也可以尝试

var store_locations = '<?php echo Mage::helper('core')->jsonEncode($Stores);?>';

答案 4 :(得分:0)

不需要引用,因为它是JSON ..

var test = {'var1':1, 'var2':2};
//this is totally OK and must not be enclosed bu quotes (a JSON object is not a string!)

顺便说一下,这不是一个javascript问题,而是一个PHP隐藏的致命错误。 (HTML被截断,带或不带引号..)

要查看发生了什么,您需要激活错误显示:

<?php
ini_set('display_errors' 1);
error_reporting(E_ALL);
?>

查看您的来源,可能存在两个问题:

  • 缺少json_encode函数(你的PHP版本是什么?)
  • $商店变量未定义或不是STRING

玩得开心

答案 5 :(得分:0)

根据我的观点,问题不在引号等中。

我敢打赌,变量$ Stores不存在。

作者还可以执行以下操作来发现问题:

在index.php中使用ini_set('display_errors','1');而不是#ini_set('display_errors','1'); 这将告诉你,确切的错误是什么。

答案 6 :(得分:0)

我今天确切的情况。主页加载到一半,然后休息,没有页脚等。我已经安装了ioncube装载机,这不是问题。在我的情况下,它原来是我的主题文件夹/app/design/frontend/yourthemehere/default/template/page/html/midcolumn.phtml中的文件midcolumn.phtml,因为我昨天编辑了这个文件,当我恢复了原始文件主页再次正常工作。 我不是你的情况。我建议通过在index.php文件中取消注释行来转换magento debug

ini_set('display_errors',1);

*(删除#并在完成后将其放回)