środa
18
Styczeń
2017
Developers

Pułapki konfiguracji Magento

Magento to system oparty o konfiguracje. Oznacza to tyle, że w wielu przypadkach nie unikniemy napisania kilku linijek konfiguracyjnych plików XML. W każdym z nich możemy popełnić proste błędy, a platforma nie jest zbyt skora do ich komunikacji programiście. Oto kilka często spotykanych problemów związanych z konfiguracją.

Konfiguracja modułu

<?xml version="1.0"?>
<config>   
 <modules>       
   <Your_Module>           
     <codepool>local</codepool> <-- błąd w konfiguracji
     <codePool>local</codePool>            
     <active>true</active>
   </Your_Module>    
 </modules>
</config>

Przy tworzeniu nowego modułu należy zwrócić uwagę na tag określający lokalizacje modułu. Występuje tam camelCase, bez którego nasz moduł nie zostanie wzięty pod uwagę przez aplikację. W tym przypadku nie otrzymamy też żadnej informacji o błędzie.

Nadpisywanie bloków i modeli

<blocks>    
 <adminhtml>       
   <rewrite>
     <sales_order_views_tabs>My_Sales_Order_View_Tabs</sales_order_views_tabs>    <-- bład w konfiguracji   
     <sales_order_view_tabs>My_Sales_Order_View_Tabs</sales_order_view_tabs>       
   </rewrite>    
 </adminhtml>  
</blocks>

Podczas nadpisywania poszczególnych elementów upewnij się, że ścieżka oryginalnej klasy jest zgodna z jej faktycznym położeniem. W przypadku powyżej użyte zostało „views”, gdy poprawna ścieżka do bloku zawiera „view”. Blok, który próbujemy nadpisać nie istnieje czego rezultatem jest brak komunikatów o błędzie, ale też brak zamierzonego nadpisania.

Wersja modułu w config.xml

<modules>       
   <Your_Module>           
     <version>0.1.0</version> <-- wersja modułu       
   </Your_Module>    
 </modules>

Ta sekcja musi znajdować się w pliku config.xml każdego modułu. Zawiera ona identyfikator oraz informacje o wersji danego komponentu. Jeśli zapomnimy zmienić wersje modułu to dodane przez nas skrypty instalacyjne (aktualizujące bazę danych) nie zostaną uruchomione przez aplikację.

Cache

Na koniec przypomnienie o tym, że jeśli pracujemy z włączonym cache to po każdej zmianie konfiguracji powinniśmy upewnić się, że został on wyczyszczony. W innym wypadku nasze zmiany nie będą miały realnego wpływu na zachowanie aplikacji.

FacebookTwitterGoogle+LinkedIn