首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Magento无法识别变量($variable $_variable)

Magento无法识别变量($variable $_variable)
EN

Stack Overflow用户
提问于 2011-09-21 22:18:56
回答 1查看 1.6K关注 0票数 0

我正在将一台机器迁移到我的本地服务器上,而变量和其他函数有一些奇怪的地方。例如,Magento显示以下错误:

代码语言:javascript
复制
Notice: Undefined variable: key  in [...]template/catalog/product/view/attributes.phtml

如果我转到该函数,我会看到:

代码语言:javascript
复制
<?php foreach($this->getAvailableOrders() as $_key=>$_order): ?>
 <?php echo $key; if ($_order != 'Relevancia') : // Remove "Relevancia" from the sort option list ?>
  <option value="<?php echo $_key; // echo $this->getOrderUrl($_key, 'asc') ?>"<?php    if($this->isOrderCurrent($_key)): ?> selected="selected"<?php endif; ?>>
   <?php echo $this->__($_order) ?>
  </option>
 <?php endif; ?>
<?php endforeach; ?>

似乎magento无法将«$key»识别为«$_key»,而这在整个代码中都会发生。问题是这段代码可以在生产服务器上运行,所以...我漏掉了什么,我不知道是什么。

谢谢你的帮忙!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-09-21 22:54:49

PHP出错是因为您没有在代码片段中定义变量$key

代码语言:javascript
复制
<?php echo $key;

变量$_key与变量$key不同

注意这里的PHP错误级别。通知是PHP的最低错误级别,通常可以在发出通知后继续执行。

我猜您的生产服务器被配置为不显示错误

代码语言:javascript
复制
ini_set('display_errors', 0);

并将developer模式常量设置为false

代码语言:javascript
复制
$_SERVER['MAGE_IS_DEVELOPER_MODE']

这允许Magento在通知之后继续。如果你检查你的日志,它可能还在发布。在本地计算机上,如果显示错误,请在浏览器中查看通知。在开发者模式下,Magento会为任何简单的错误抛出一个异常。

也有可能在编写代码块之前,已经根据数据库状态有条件地定义了$key,这种情况发生在生产环境中,而不是开发人员配置/数据库中。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7501395

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档