Magento不能识别变量($variable $_variable)



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

Notice: Undefined variable: key  in [...]template/catalog/product/view/attributes.phtml

如果我进入那个函数,我看到这个:

<?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»,这在整个代码中都会发生。问题是,这段代码是在生产服务器上工作的,所以…我错过了一些东西,我不知道是什么。

谢谢你的帮助!

PHP正在抱怨,因为您没有在代码片段中定义变量$key

<?php echo $key;

变量$key与变量$_key不同

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

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

ini_set('display_errors', 0);

和显影模式常数设置为false

$_SERVER['MAGE_IS_DEVELOPER_MODE']

这允许Magento继续通过通知。如果您查看日志,它可能仍在发出。在本地机器上,如果出现显示错误,请在浏览器中看到通知。在开发者模式下,Magento会为任何简单的错误抛出异常。

也有可能在你的代码块之前,有一些根据数据库状态有条件地定义$key的东西,它发生在生产中,但不是在你的开发配置/数据库中。

最新更新