Det nya modifieringssystemet i OpenCart 2

Framgången av alla öppna ramverk beror på vissa faktorer, och utvidgbarhet är en av de viktiga faktorerna bland dem. Det gör att gemenskapen kan lägga till nya funktioner och berika sin kärnfunktionalitet, vilket resulterar i en mycket kraftfull slutprodukt. Det är självklart en måste-funktion när det gäller utveckling av anpassade tillägg också.

I den här artikeln ser vi hur du kan ändra kärnfilerna i OpenCart-ramverket genom att implementera en XML-baserad OCMOD-förlängning. Mycket av dess funktionalitet lånas från sin föregångare, vQmod-systemet. Det är faktiskt ett mycket enklare system, vilket ger färre funktioner jämfört med vQmod. Med detta sagt har det täckt alla viktiga ersättningsmönster.

OCMOD-systemet är ett XML-baserat sök- och ersättningssystem. Du definierar XML-filen enligt OCMODs konventioner, och det kommer att göra resten. Så vi kan säga att du kan ändra vilken fil som helst i kärnramen!

Låt oss lista ett par exempel för att förstå vad den kan:

  • Sätt in en viss kod innan någon viss rad i filen.
  • Byt ut ett kvarter med ditt anpassade kodblock.
  • Hitta en sträng i filen med regexp och ersätt den med en annan sträng.
  • Ändra schemat för OpenCart-databasen.
  • Många fler…

Som du kan se är det en ganska lista över saker du kan göra med OCMOD. Dessutom är det bra att använda den istället för att direkt ändra kärnfilerna, vilket är starkt avskräckt.

I nästa avsnitt går vi vidare och skapar en enkel OCMOD-modul för demonstrationsändamål. Jag antar att du använder den senaste versionen av OpenCart.

Hur OCMOD fungerar

Du kan skapa och installera en OCMOD-förlängning på två olika sätt. Du måste antingen bygga en zip-fil med ".ocmod.zip" -tillägget, eller å andra sidan skapa en enda XML-fil med ".ocmod.xml" -tillägget.

Zip-filalternativet

Alternativet till zip-filen gör att du kan inkludera några andra filer, så att du också kan göra andra operationer som att ändra databasschemat, ladda upp nya filer / kataloger till OpenCart-installationen etc. Låt oss se vilka alternativ som finns när du använder zip-versionen av OCMOD-förlängningen.

  • ladda upp: Innehållet i den här katalogen kopieras som de är till OpenCart-roten.
  • install.sql: I den här filen kan du inkludera SQL-frågor för att ändra databasen.
  • install.php: I den här filen kan du inkludera anpassad PHP-kod som krävs av ändringskoden.
  • install.xml: Det är den viktigaste filen, som innehåller XML-modifieringskoden.

Det är självklart inte obligatoriskt att skapa varje fil / katalog som anges ovan, men du måste skapa en install.xml filen för att se till att din OCMOD-förlängning kan installeras.

XML-filalternativet

Det här är ett mycket enklare sätt att skapa en OCMOD-förlängning - du behöver bara skapa en XML-fil med ".ocmod.xml" -tillägget. Vi kan säga att det är identiskt med install.xml fil och innehåller XML-modifierings-koden som vi har diskuterat i föregående avsnitt.

För att hålla sakerna enkla går vi med det senare alternativet och skapar en OCMOD-förlängning i nästa avsnitt.

Skapa OCMOD-modulfilerna

Som utvecklare blir du oftare placerad i en situation där du frestas att ändra kärnfilerna. Så vi tar ett verkligt exempel på hur man hanterar problemet genom att använda en OCMOD-förlängning.

Låt oss anta att du vill ändra hur titeln visas på produktdetaljsidan. Följande kod är ansvarig för att tilldela rätt titel till produktdetaljsidan. Du kan hitta den i filen som finns på katalog / styrenheten / produkt / product.php.

$ data ['heading_title'] = $ product_info ['name'];

Och du vill ha något så här:

$ data ['heading_title'] = strtoupper ($ product_info ['name']);

Låt oss se hur vi kan uppnå det med en OCMOD-förlängning. Skapa en product_title.ocmod.xml fil med följande innehåll.

  Produkttitelmodifikation Code_Tutsplus_Product_Title 1,0 Kod Tutsplus http://code.tutsplus.com       

Som du kan se är de flesta av taggarna självförklarande. Den viktigaste taggen är , som definierar filnamnet på vilket operationen ska utföras. De tagg används för att söka efter koden som vi letar efter, och äntligen har vi använt tagg för att injicera vår kod.

Installera modulen från baksidan

Nu när vi är färdiga med vår modifieringsfil, låt oss se hur du installerar den från baksidan av OpenCart. Gå över till baksidan och navigera till Extensions> Extension Installer. Klicka på ladda upp knappen och välj den fil som vi skapade i föregående avsnitt. Om allt går bra bör du se ett framgångsbudskap.

Navigera till Extensions> Modifications, och du bör se din OCMOD-förlängning som anges på den sidan.

Det innebär att du har installerat förlängningen framgångsrikt! Nu klickar du bara på refresh ikonen längst upp till höger, så att den detekteras av OpenCart och redo att appliceras på fronten.

I nästa avsnitt går vi igenom framsidan för att se om den appliceras på produktdetaljsidan på lämpligt sätt.

Testning i fronten

Gå över till fronten och navigera till en produktdetaljersida. Du bör kunna se att produkttiteln nu är aktiverad.

Även om detta var ett mycket enkelt exempel för att visa kraften hos OCMOD, kan du göra mycket mer saker med det här verktyget och ändra kärnfilerna om det behövs.

Slutsats

Idag har vi diskuterat det nya modifieringssystemet i OpenCart 2, och vi gick igenom hela processen för att visa hur du kan använda den för att ändra OpenCarts kärnfiler. Skicka gärna dina frågor!