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.
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:
voor
wordt gebruikt om de inhoud vóór de zoekreeks in te voegen.na
wordt gebruikt om de inhoud na de zoekreeks in te voegen.top
wordt 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.ibefore
, de gegevens worden vóór de zoekgegevens in dezelfde regel toegevoegd.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
.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.
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.
vqmod
map naar de root van uw OpenCart-installatie.vqcache
map die onder de vqmod
map is schrijfbaar door de webserver.Nu bent u klaar om elke vQmod-specifieke extensie te gebruiken of uw eigen extensie aan te maken.
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.
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.
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.