De kern van OpenCart wijzigen met vQmod

OpenCart is een succesvol raamwerk voor kleine tot middelgrote e-commercesites. Hoewel de kern van OpenCart veel functies biedt die een winkelwagentjesite nodig heeft aan de voorkant, zijn het ook de externe uitbreidingen die een belangrijke rol spelen in het succes ervan..

Dit gezegd hebbende, kunnen zich omstandigheden voordoen waarin je gedwongen wordt om de kern van OpenCart te veranderen. In deze zelfstudie zullen we zien hoe u de kern van de OpenCart kunt wijzigen met behulp van de vQmod-extensie.

vQmod is een populaire extensie waarmee je wijzigingen kunt aanbrengen zonder kernbestanden te wijzigen. Dit is het uittreksel van de officiële vQmod-site.

"vQmod ™" (ook bekend als Virtual Quick Mod) is een overridesysteem dat is ontworpen om te voorkomen dat kernbestanden moeten worden gewijzigd. Het concept is vrij eenvoudig ... In plaats van rechtstreeks wijzigingen aan te brengen in de kernbestanden, worden de wijzigingen gemaakt als xml scriptbestanden zoeken / vervangen. Deze scriptbestanden worden geparseerd tijdens het laden van de pagina, omdat elk kernbestand "source" is geladen met de "include" of "require" php-functies. De bron wordt vervolgens gepatcht met het wijzigen van het scriptbestand en opgeslagen in een tijdelijk bestand. Dat tijdelijke bestand wordt vervolgens tijdens het uitvoeren vervangen door het origineel. Het originele bronbestand is nooit gewijzigd. Dit resulteert in een "virtuele" wijziging in de kern tijdens de uitvoering zonder enige daadwerkelijke wijziging van de kernbestanden.

Het is dus erg handig omdat het het upgradeproces van OpenCart soepel laat verlopen, zelfs als je de kernbestanden hebt gewijzigd.

Hoe vQmod werkt

Voordat we verder gaan en leren hoe we vQmod met OpenCart kunnen gebruiken, laten we zien hoe vQmod precies werkt.

vQmod doet al zijn magie met behulp van XML-bestanden. U moet een XML-bestand maken volgens de conventies en de rest van de functionaliteit wordt afgehandeld door vQmod. Laten we met dat gezegd, laten we eens kijken hoe het XML-bestand eruit moet zien.

Dit is een eenvoudige demonstratie die laat zien hoe je een bepaald stuk code in het bestand kunt vervangen door andere inhoud.

  Voorbeeld van de vQmod 1.0 2.X Tuts+       

Zoals je kunt zien, begint het met de standaard  tagverklaring gevolgd door een label. Andere tags zijn onder andere , , en . Je moet niet veranderen  omdat het de vQmod-versie aangeeft.

Het interessante werk begint met de  label. De naam attribuut geeft de bestandsnaam aan die zal worden gepatcht. Het kan zijn dat u meerdere wijzigingen in hetzelfde bestand nodig hebt. Dus dat is waar het  tag komt om de hoek kijken. Elke wijziging wordt ingepakt door de label. De info kenmerk stelt u in staat een nuttig bericht toe te voegen.

In dit specifieke voorbeeld, de  tag wordt gebruikt voor de vervangen operatie. U kunt de positie attribuut om vQmod te vertellen welke bewerking zal worden uitgevoerd. De inhoud die is ingesloten in de  tag wordt vervangen door de inhoud die is ingesloten in de  label. 

Zoals je misschien hebt gemerkt, is de inhoud voor zoeken en vervangen ingesloten in een CDATA tag, wat betekent dat de inhoud niet zal worden geïnterpreteerd als een opmaak maar als tekengegevens.

Laten we de andere beschikbare opties bekijken voor de positie attribuut:

  • voorwordt gebruikt om de inhoud vóór de zoekreeks in te voegen.
  • na wordt gebruikt om de inhoud na de zoekreeks in te voegen.
  • topwordt gebruikt om de gegevens bovenaan het bestand in te voegen. In dit geval is er geen noodzaak voor de  label. Zelfs als je het hebt gebruikt, wordt het genegeerd.
  • bodem wordt gebruikt om de gegevens onderaan het bestand in te voegen. In dit geval is er geen noodzaak voor de  label. Zelfs als je het hebt gebruikt, wordt het genegeerd.
  • In het geval van ibefore, de gegevens worden vóór de zoekgegevens in dezelfde regel toegevoegd.
  • In het geval van INadat, de gegevens worden achter de zoekgegevens in dezelfde regel toegevoegd.

Er zijn ook een aantal optionele attributen beschikbaar voor de  label. Laten we deze snel bekijken.

  • compenseren is een attribuut ontworpen om te werken in combinatie met de positie attribuut. Dus bijvoorbeeld als positie ingesteld op voor en compenseren ingesteld op 3, het betekent dat de inhoud vóór de drie lijnen van de gezochte gegevens wordt ingevoegd.
  • inhoudsopgave:Soms wilt u slechts enkele exemplaren van een bepaalde tekenreeks vervangen, niet alle exemplaren van die reeks in de zoekgegevens. Stel dat er bijvoorbeeld vijf instanties van de variabele $ abc in uw zoekgegevens voorkomen, maar u wilt alleen de eerste twee exemplaren van $ abc door $ def vervangen. In dit geval moet u opgeven inhoudsopgave naar 1,2.
  • De regex attribuut is handig als u een op reguliere expressie gebaseerde zoekopdracht voor uw bewerkingen wilt uitvoeren. In dat geval moet je instellen regex naar TRUE.

Dit zijn de snelle hoogtepunten van de configuratieopties van vQmod.

OpenCart en vQmod

Laten we eens kijken hoe we de vQmod OpenCart-extensie kunnen installeren. We zullen ook bekijken hoe u vQmod kunt gebruiken om de kern van OpenCart te wijzigen.

Installatie

  • Download en pak de OpenCart-specifieke vQmod-bibliotheek uit.
  • Upload de vqmod map naar de root van uw OpenCart-installatie.
  • Zorg ervoor dat de vqcache map die onder de vqmod map is schrijfbaar door de webserver.
  • Ga naar http://www.myopencartsite.com/vqmod/install en er wordt een succesbericht weergegeven. Als dat niet het geval is, is dit waarschijnlijk een kwestie van rechten.

Nu bent u klaar om elke vQmod-specifieke extensie te gebruiken of uw eigen extensie aan te maken.

Gebruik

Nu dat je gewapend bent met alle wapens, laten we een praktisch voorbeeld doornemen. Maak een XML-bestand vqmod_homepage.xml in de vqmod / xml directory. Kopieer en plak de volgende inhoud in de nieuw gecreëerde vqmod_homepage.xml het dossier.

  Vervang de CSS-eigenschap in de titel van het kopje op de startpagina 1.0 2.X Tuts+    ]]>  ]]>   

Open nu uw startpagina en u zou moeten zien dat er een is 

titel die wordt weergegeven. Standaard is dit 'Uw winkel'. Alle bestanden in de vqmod / xml directory worden automatisch gedetecteerd en de wijzigingen worden dienovereenkomstig toegepast. Je zou de gecachete versie van de bestanden kunnen vinden vqmod / vqcache.

Het is vrij eenvoudig als je naar de vqmod_homepage.xml het dossier. We gebruiken een vervangen werking op de home.tpl het dossier. Een belangrijk ding om op te merken is dat het pad van het bestand relatief is ten opzichte van de vqmod directory.

Kers op de taart

Op dit moment moet u weten hoe u de kern van OpenCart kunt wijzigen met behulp van vQmod XML-bestanden. Op dezelfde manier kunt u doorgaan en uw eigen OpenCart-modules maken die op vQmod zijn gebaseerd.

Ga je gang en download enkele van de op vQmod gebaseerde extensies van de OpenCart-site om te bestuderen wat je zou kunnen doen met dit geweldige juweeltje. Er zijn meer dan 2.500 extensies die gebaseerd zijn op vQmod.

Afgezien van dit, als je je wat lui voelt bij het maken van het vQmod XML-bestand, dan is er een OpenCart-extensie vQmod Generator, Editor en Log Viewer beschikbaar die u een beheerdersinterface voor uw vQmod-bestanden biedt.

Conclusie

In deze tutorial heb je geleerd waar de vQmod-bibliotheek over gaat en hoe deze met OpenCart kan worden gebruikt. Ga je gang en doe experimenten, het zal leuk zijn!

En ja, vergeet niet om uw gedachten te delen met behulp van de commentaarfeed hieronder.