Magento не распознает переменные ($ variable $ _variable) - PullRequest
0 голосов
/ 21 сентября 2011

Я перевожу машину на свой локальный сервер, и с переменными и другими функциями происходит что-то странное. Например, 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», и это происходит во всем коде. Дело в том, что этот код работает на рабочем сервере, поэтому ... я что-то упустил, и я не знаю, что это такое.

Спасибо за вашу помощь!

1 Ответ

3 голосов
/ 21 сентября 2011

PHP жалуется, потому что вы не определили переменную $key во фрагменте кода.

<?php echo $key;

Переменная $key отличается от переменной $_key

Уровень ошибок PHP здесь Замечание . Уведомление - это самый низкий уровень ошибок PHP, и обычно можно продолжить выполнение после того, как уведомление было выдано.

Полагаю, ваш рабочий сервер настроен так, чтобы не отображать ошибку

ini_set('display_errors', 0);

А для константы режима разработчика установлено значение false

$_SERVER['MAGE_IS_DEVELOPER_MODE']

Это позволяет Magento продолжить работу после уведомления. Если вы проверите свои журналы, вероятно, они все еще выпускаются На вашем локальном компьютере с отображаемыми ошибками вы видите Уведомление в вашем браузере. В режиме разработчика на Magento будет выдано исключение для любой простой ошибки.

Также возможно, что до вашего блока кода есть что-то условно определяющее $ key, основанное на состоянии базы данных, и это происходит в рабочей среде, но не с вашей конфигурацией / базой данных dev.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...