Noul sistem de modificări în OpenCart 2

Succesul oricărui cadru open-source depinde de anumiți factori, iar extensibilitatea este unul dintre factorii importanți dintre ei. Aceasta permite comunității să adauge noi caracteristici și să-și îmbogățească funcționalitatea de bază, rezultând un produs final foarte puternic. Desigur, este o caracteristică must-have atunci când vine vorba de dezvoltarea de extensii personalizate, de asemenea.

În acest articol, vom vedea cum puteți modifica fișierele de bază ale cadrului OpenCart implementând o extensie OCMOD bazată pe XML. O mare parte din funcționalitatea sa este împrumutată de la predecesorul său, sistemul vQmod. De fapt, este un sistem mult mai simplu, oferind mai puține caracteristici în comparație cu vQmod. Acestea fiind spuse, acestea au acoperit toate modelele importante de înlocuire.

Sistemul OCMOD este un sistem de căutare și înlocuire bazat pe XML. Definiți fișierul XML conform convențiilor OCMOD și veți face restul. Așadar, am putea spune că ați putea modifica orice fișier din cadrul central!

Să enumerăm câteva exemple pentru a înțelege ce este capabil:

  • Introduceți o anumită bucată de cod înaintea oricărei linii speciale din fișier.
  • Înlocuiți un bloc de cod cu blocul de cod personalizat.
  • Găsiți un șir în fișier utilizând regexp și înlocuiți-l cu un alt șir.
  • Modificați schema bazei de date OpenCart.
  • Multe altele…

După cum puteți vedea, este o listă destul de bună cu OCMOD. În plus, este o practică bună să o utilizați în loc să modificați direct fișierele de bază, ceea ce este puternic descurajat.

În următoarea secțiune, vom merge mai departe și vom crea un simplu modul OCMOD pentru demonstrații. Presupun că utilizați cea mai recentă versiune a OpenCart.

Cum functioneaza OCMOD

Puteți crea și instala o extensie OCMOD în două moduri diferite. Fie aveți nevoie pentru a construi un fișier zip cu extensia ".cmod.zip", sau invers este de a crea doar un singur fișier XML care are extensia ".ocmod.xml".

Opțiunea Fișier Zip

Opțiunea fișierului zip vă permite să includeți și alte câteva fișiere, astfel încât să puteți efectua și alte operații, cum ar fi modificarea schemei bazei de date, încărcarea de fișiere / directoare noi în instalarea OpenCart etc. Să vedem ce opțiuni sunt disponibile când se utilizează versiunea zip a extensiei OCMOD.

  • încărcați: Conținutul din acest director va fi copiat așa cum sunt la rădăcina OpenCart.
  • install.sql: În acest fișier, puteți include interogări SQL pentru a modifica baza de date.
  • install.php: În acest fișier, puteți include codul PHP personalizat, care este solicitat de codul de modificare.
  • install.xml: Este cel mai important fișier, care conține codul de modificare XML.

Desigur, nu este obligatoriu să creați fiecare fișier / director listat mai sus, dar trebuie să creați un install.xml pentru a vă asigura că extensia dvs. OCMOD poate fi instalată.

Opțiunea Fișier XML

Aceasta este o modalitate mult mai ușoară de a crea o extensie OCMOD - trebuie doar să creați un fișier XML cu extensia ".cmod.xml". Am putea spune că este identică cu install.xml fișierul și conține codul de modificare XML pe care l-am discutat în secțiunea anterioară.

Pentru a păstra lucrurile simple, vom merge cu opțiunea ulterioară și vom crea o extensie OCMOD în secțiunea următoare.

Creați fișiere Module OCMOD

În calitate de dezvoltator, cel mai adesea veți fi plasați într-o situație în care veți fi tentați să modificați fișierele de bază. Deci, vom lua un exemplu real din lume cu privire la modul de abordare a acestei probleme folosind o extensie OCMOD.

Să presupunem că doriți să modificați modul în care titlul este afișat pe pagina cu detaliile produsului. Următorul cod este responsabil pentru atribuirea titlului corespunzător la pagina cu detaliile produsului. L-ați putea găsi în fișierul situat la Catalog / controler / produs / product.php.

$ data ['title_title'] = $ product_info ['nume'];

Și vrei ceva de genul:

$ date ['title_title'] = strtoupper ($ product_info ['nume']);

Să vedem cum am putea realiza acest lucru folosind o extensie OCMOD. Creeaza o product_title.ocmod.xml fișier cu următorul conținut.

  Titlu de produs Modificare Code_Tutsplus_Product_Title 1.0 Cod Tutsplus http://code.tutsplus.com       

După cum puteți vedea, majoritatea etichetelor sunt explicite. Cea mai importantă etichetă este , care definește numele fișierului pe care va fi efectuată operația. eticheta este utilizată pentru a căuta codul pe care îl căutăm și în cele din urmă am folosit-o eticheta pentru a injecta codul nostru.

Instalați modulul din spate

Acum, că am terminat cu fișierul de modificări, să vedem cum să îl instalăm din back-end-ul OpenCart. Treceți la spate și navigați la Extensii> Instalator de extensii. Faceți clic pe încărcați și selectați fișierul pe care l-am creat în secțiunea anterioară. Dacă totul merge bine, ar trebui să vedeți un mesaj de succes.

Navigheaza catre Extensii> Modificări, și ar trebui să vedeți extensia dvs. OCMOD afișată pe acea pagină.

Aceasta înseamnă că ați instalat extensia cu succes! Acum, dați clic pe reîmprospăta pictograma din partea dreaptă sus, astfel încât să fie detectată de OpenCart și pregătită pentru a fi aplicată pe front-end.

În secțiunea următoare, vom trece prin partea frontală pentru a vedea dacă aceasta este aplicată corespunzător pe pagina cu detaliile produsului.

Testarea în front-end

Deplasați-vă spre partea frontală și navigați la pagina detaliată a produsului. Ar trebui să puteți vedea că titlul produsului este acum capitalizat.

Deși acesta a fost un exemplu foarte simplu pentru a demonstra puterea OCMOD, ați putea să faceți mai multe lucruri cu acest utilitar și să modificați fișierele de bază dacă este necesar.

Concluzie

Astăzi, am discutat noul sistem de modificări în OpenCart 2 și am trecut prin întregul proces pentru a demonstra cum îl puteți folosi pentru a modifica fișierele de bază ale OpenCart. Simțiți-vă liber să postați interogările dvs.!

Cod