我遇到了关于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); ?>;
任何人都可以查看,同一页面正在其他服务器上运行。
由于
答案 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);
?>
查看您的来源,可能存在两个问题:
玩得开心
答案 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
*(删除#并在完成后将其放回)