Возможно, этот вопрос уже задавался, но я нигде не могу его найти. Я новичок в Magento / Netbeans.
После настройки xdebug в Netbeans я смог начать отладку, остановившись на строке в index.php, скажем, для этой строки:
Mage::run($mageRunCode, $mageRunType);
Где я могу проверить значения $ mageRunCode и $ mageRunType.
Однако после настройки точки останова в файле .phtml процесс проходит через точку останова, не останавливаясь на этом. Например, в файле \ default \ template \ catalog \ product \ list.phtml я устанавливаю точку останова на (я хочу перейти к функции getPriceHtml ()):
<?php echo $this->getPriceHtml($_product, true); ?>
Я даже установил некоторые точки останова в функции
public function getPriceHtml($product, $displayMinimalPrice = false, $idSuffix = '')
в Abstract.php, но это тоже не остановило.
Итак, что мне нужно сделать, чтобы остановить процесс отладки на любых точках останова в Netbeans с XDebug?
Можно остановиться на точках останова в файлах phtml, я делаю это все время.
Может случиться так, что код, в который вы поместили точку останова, не выполняется. list.phtml
file, управляет как сеткой, так и режимами просмотра списка: возможно, вы поставили точку останова в части сетки и наблюдали за просмотром списка, или наоборот. Или, может быть, вы не в правильном шаблоне: чтобы убедиться, включите подсказки шаблона и проверьте путь к файлу.
Для Mage_Catalog_Block_Product_Abstract::getPriceHtml()
может быть, это отменено каким-то другим классом.
Мой совет для файла list.phtml (если вы уверены, что он правильный, подсказки шаблона cfr), ставить точку останова в первой строке php, в собственном файле версии 1.7.0.2 это будет строка 35:
$_productCollection=$this->getLoadedProductCollection();
и когда вы туда доберетесь, используйте «Переступить (F8)«функционировать, пока не дойдете до линии, которую вы хотите исследовать, т.е. <?php echo $this->getPriceHtml($_product, true) ?>
и там можноШаг в (F7)«Это и вы получите непосредственно к фактической функции.
НТН
Других решений пока нет …