<\/p>\n
Poni\u017cej zamieszczam kr\u00f3tk\u0105 instrukcj\u0119 przygotowan\u0105 przez jednego z naszych programist\u00f3w – Paw\u0142a odno\u015bnie tego jak debugowa\u0107 kod Magento, w przypadku kiedy chcemy odczyta\u0107 b\u0142\u0119dy pojawiaj\u0105ce si\u0119 w sklepie internetowym lub wyci\u0105gn\u0105\u0107 poszczeg\u00f3lne zmienne czy te\u017c metody.<\/p>\n
\n
Wy\u0142\u0105czamy cache<\/strong><\/p>\n<\/li>\n Reindexujemy wszystko<\/strong><\/p>\n<\/li>\n Czy\u015bcimy cache przegl\u0105darki<\/strong><\/p>\n<\/li>\n W\u0142\u0105czamy logi Magento: W ustawieniach log\u00f3w prze\u0142\u0105czamy na w\u0142\u0105czony. Domy\u015blnie logi zapisywane s\u0105 w\u00a0\u015bcie\u017cce:\u00a0<\/strong>var\/log<\/strong><\/p>\n Wchodzimy w plik index.php i odkomentowujemy(lub dopisujemy) linie Wchodzimy w plik .htaccess i prze\u0142\u0105czamy Magento w tryb developerski dopisuj\u0105c kod: Zmieniamy nazw\u0119 pliku errors\/local.xml.sample na errors\/local.xml<\/strong><\/p>\n<\/li>\n Dodatkowo instalujemy \u2018Easy Template Path Hints\u2019<\/strong> \u2013 dodatek wy\u015bwietlaj\u0105cy \u015bcie\u017cki blok\u00f3w oraz widok\u00f3w na frontendzie oraz backendzie.<\/p>\n<\/li>\n<\/ol>\n \n Kiedy piszemy kod czasem zajdzie potrzeba wy\u015bwietlenia r\u00f3\u017cnych zmiennych. Mo\u017cna to zrobi\u0107 przez zwyk\u0142e wy\u015bwietlenie ich: echo($zmienna)<\/strong>. Ta funkcja nie wy\u015bwietli nam jednak ani tablicy ani obiektu. Aby wy\u015bwietli\u0107 tablic\u0119 mo\u017cemy u\u017cy\u0107 print_r($zmienna)<\/strong>lub var_dump($zmienna<\/strong>)<\/strong>. Magento jest oparte na Zendzie, dlatego te\u017c mo\u017cemy u\u017cy\u0107 fukcji zendowskiej Zend_Debug::dump($zmienna)<\/strong>.<\/p>\n \u017beby sprawdzi\u0107 w jakiej klasie si\u0119 znajdujemy przydatna wtedy jest funkcja get_class<\/strong>. Np.\u00a0var_dump(get_class($this));<\/strong><\/p>\n Podobnie mo\u017cemy sprawdzi\u0107 jakie mamy dost\u0119pne pola oraz metody klasy w kt\u00f3rej si\u0119 znajdujemy: get_class_vars <\/strong>i get_class_methods<\/strong>.<\/p>\n Czasami mo\u017ce zaj\u015b\u0107 potrzeba wy\u015bwietlenia sobie zmiennej na wersji produkcyjnej sklepu. Wtedy mo\u017cemy opakowa\u0107 naszego dumpa w diva z display none:<\/p>\n <div style=\u201ddisplay: none;\u201d><?php var_dump($zmienna) ?><\/div><\/strong><\/p>\n Inn\u0105 metod\u0105 mo\u017ce by\u0107 wy\u015bwietlenie zmiennej tylko dla naszego IP:<\/p>\n if ($_SERVER[\u2018REMOTE_ADDR\u2019] == \u201811.11.11.11\u2019) {<\/strong><\/p>\n \u00a0\u00a0\u00a0Zend_Debug::dump($zmienna);<\/strong><\/p>\n } <\/strong><\/p>\n \n Kiedy nie mo\u017cemy sobie wyrzuci\u0107 dumpa na stron\u0119 (np. w niekt\u00f3rych kontrolerach lub przy np. mailach) mo\u017cemy wrzuci\u0107 go do naszego loga funkcj\u0105 file_put_contents<\/strong>. Dodatkowo je\u015bli jest to array u\u017cywamy funkcji var_export<\/strong>.<\/p>\n \n file_put_contents(Mage::getBaseDir().\u201d\/var\/log\/moj.log\u201d, $zmienna);<\/strong><\/p>\n file_put_contents(Mage::getBaseDir().\u201d\/var\/log\/moj.log\u201d, var_export($array));<\/span><\/strong><\/p>\n","protected":false},"excerpt":{"rendered":" Poni\u017cej zamieszczam kr\u00f3tk\u0105 instrukcj\u0119 przygotowan\u0105 przez jednego z naszych programist\u00f3w – Paw\u0142a odno\u015bnie tego jak debugowa\u0107 kod Magento, w przypadku kiedy chcemy odczyta\u0107 b\u0142\u0119dy pojawiaj\u0105ce si\u0119 w sklepie internetowym lub wyci\u0105gn\u0105\u0107 poszczeg\u00f3lne zmienne czy te\u017c metody. Wy\u0142\u0105czamy cache Reindexujemy wszystko Czy\u015bcimy cache przegl\u0105darki W\u0142\u0105czamy logi Magento: System > Konfiguracja > Programista(Developer) W ustawieniach log\u00f3w prze\u0142\u0105czamy […]<\/p>\n","protected":false},"author":7,"featured_media":3826,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[8],"tags":[10],"yoast_head":"\n
\nSystem > Konfiguracja > Programista(Developer)<\/strong><\/p>\n<\/li>\n<\/ol>\n\n
\nini_set(‘display_errors’, 1);<\/strong><\/p>\n<\/li>\n
\nSetEnv MAGE_IS_DEVELOPER_MODE “true”<\/strong><\/p>\n<\/li>\n