6. 5. 2010

Jak používat Nette Debug alias Laděnku v Magentu

Magento je pomalý neohrabaný moloch! Nepřeberné množství funkcí zaplatil tento opensource e-shop svou rychlostí/pomalostí. Přesto dnes patří k nejrozšířenějším komerčním (opensource) platformám na světě.

Pokud se někdy dostanete k jeho implementaci. Pak budete zřejmě  plakat, až na Vás jednou Magento plivne své strohé nic neříkající chybové hlášení. Možná, že stejně jako já, zatoužíte po Laděnce (Nette Debug). A předem se přiznávám, že jsem si na ní vypěstoval jistou těžkou formu závislosti.

První co musíte udělat je stáhnout a rozbalit Nette Framework, jehož je Debug/Laděnka součástí.  Ideální je někam do  instalace Magenta nakopírovat minimalizovanou verzi (Nette.minified/loader.php). Pot0 stačí někde na začátek magentovského index.php přidat staré známé.

require_once 'Nette/loader.php';
Debug::$strictMode = TRUE;
Debug::enable(Debug::DETECT, dirname(__FILE__).'/var/log/errors.txt');

Ve druhém kroku je pak nutné upravit (vyrušit) vnitřní magentovský odchytávač chyb. Najdete jej v souboru \app\code\core\Mage\Core\Model\App.php. Kolem řádku 552 se volá funkce setErrorHandler. Řádek stačí zakomentovat. Od této chvíle dostanete krásné červené hlášení o chybě, na které jste se tak těšili.

#magento, #nette, #php