Astăzi am decis să seria de tutoriale legate de OpenCart şi vă prezint cum putem adăuga o categorie în OpenCart din baza de date. Nu recomand această tehnică în practica de zi cu zi, dar am ales să vorbesc despre ea pentru a vă face o idee despre cum este structurată baza de date şi cum sunt legate tabelele între ele.
Cum accesăm baza de date OpenCart?
Pentru a accesa baza de date a siteului, este nevoie să scriem în browser adresa site-ului urmată de /phpmyadmin (Exemplu: www.siteopencart.ro/phpmyadmin). Puteţi observa mai jos o parte din baza de date a siteului ales de mine pentru acest tutorial.


Baza de date este foarte complexă. Pentru a vă face o idee puteţi vedea mai jos o diagramă în care este cuprinsă doar partea de produse şi categorii în OpenCart.
Cum adăugăm o categorie în OpenCart din baza de date?
Pentru a adăuga o nouă categorie este nevoie să alegem tabela Category.

O vom selecta şi vom putea vizualiza toate categoriile existe în acel moment.

Fiecare categorie are un id unic (category_id), un câmp pentru imagine (nu este obligatorie). Prin parent_id se va identifica dacă este o categorie sau o subcategorie, ori o sub-subcategorie. În cazul nostru avem doar categorii principale.
Dacă categoria cu id-ul 64 ar fi avut la parent_id în loc de zero (0) 62, atunci acea categorie ar fi fost subcategoria categoriei principale 62. Status va avea valoare 1 sau 0, 1 în cazul în care categoria este activă şi 0 dacă este inactivă.
Pentru a adăuga o categorie nouă alegem tabul Insert şi completăm câmpurile. Sau putem să alegem tabul SQL unde vom scrie codul aferent adăugarii unei noi categorii.

Voi alege să scriu un query şi să adaug o categorie nouă cu id-ul 65.

Dacă query-ul a fost executat corect vom primi şi un mesaj în acest sens, dacă nu vom primi un mesaj în care vom fi avertizaţi de o eroare. În cazul de faţă codul a fost rulat cu succes.
Apoi vom selecta din nou tabela Category pentru a putea vizualiza categoria adăugată.

De ce tabele este legată tabela category?
Credeţi că am terminat? Nu! Tabela category este legată de încă două tabele şi anume de category_description şi category_to_store. Pentru a finaliza procesul de adăugare a unei categorii este nevoie să adăugăm şi în aceste două tabele detaliile despre categoria cu id-ul 65. Voi începe prin a adăuga detaliile în tabela category_description şi voi alege varianta cu Insert.

În tabela category_description avem următoarele câmpuri:
- category_id este cheia prin care cele două tabele sunt legate între ele,
- language_id este id-ul limbii folosite în site, în cazul meu 1, name este numele pe care îl va avea categoria,
- description câmpul în care putem adăuga o descriere a categoriei, dar am ales să nu completez nimic,
- meta_description este descrierea categoriei care va fi folosită pe partea de SEO a siteului, la fel ca şi meta_keyword.
Ca şi mai sus, după adăugarea datelor vom primi un mesaj şi vom putea vizualiza detaliile adăugate.

Acum mai avem de adăugat date în tabela category_to_store pentru a asigna magazinului categoria dorită. OpenCart permite multistore şi putem avem categorii asignate doar unui store sau aceeaşi categorie asignată mai multor storuri. În cazul de faţă avem doar un store care are id-ul zero.

După cum puteţi observa, această tehnică nu este tocmai uşoară şi necesită o bună cunoaştere a bazei de date, a structurei acesteia şi a tututor elementelor care o compun. Pentru a verifica dacă ceea ce am făcut este corect vom merge în partea de backend a site-ului în admin Catalog->Category.

Putem observa că SUN, categoria adăugată din baza de date apare în listă alături de celelalte categorii şi dacă selectăm Edit putem vedea şi datele adăugate de noi din tabela category_description.

Adaugați produse sau categorii în OpenCart din admin
În aceeaşi manieră se procedeaza şi pentru adăugarea unui produs din baza de date. Se vor adauga produse în tabela Product şi pentru toate celelalte detalii cu privire la produs se vor adauga informaţii şi în tabelele product_attribute, product_description, product_discount, product_filter, product_image, product_option, product_option_value, product_related, product_reward, product_special, product_to_category, product_to_download, product_to_layout, product_to_store.
Aşa cum am spus şi la începutul acestei postări, nu recomand această abordare decât dacă stăpâniţi foarte bine strucutura bazei de date. Nu încercaţi acestea pe un site live. Alegeți varianta adăugării de produse sau categorii noi direct din admin. Scopul acestui post este a vă face o idee asupra modului în care sunt legate datele între ele şi pentru a înţelege şi ce se întâmplă în spate în cazul în care sunteţi curioşi.
- SuriYoga.ro – povestea unui site de prezentare pentru studio Yoga - aprilie 21, 2021
- Strategie Social Media pentru 33 de zile - aprilie 20, 2021
- Ești avocat sau deții un birou de avocatură? Descoperă de ce ai nevoie de un website! - aprilie 6, 2021
Pingback: 5 sfaturi aplicabile în Magento Community | Bianca Ionel - Acorduri din suflet
Pingback: OpenCart - scurtă introducere - Bianca Ionel - Professional Blog
Pingback: Adăugare categorii şi produse în OpenCart din admin | DISCERNE