Adăugare categorie în OpenCart (viziune asupra bazei de date)

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.

bd_opencart
Bază de date OpenCart Sursa: proiect personal

 

products
Diagrama baza de date OpenCart tabele pentru Produse şi Categorii şi legăturile dintre acestea

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.

bd_opencart_table_category
Tabela Category OpenCart

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

Tabela Category şi conţinutul acesteia
Tabela Category şi conţinutul acesteia

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.

Adăugare categorie noua OpenCart
Adăugare categorie noua OpenCart

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

Query SQL adaugare categorie nouă
Query SQL adaugare categorie nouă

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.

query_successApoi vom selecta din nou tabela Category pentru a putea vizualiza categoria adăugată.

Vizualizare tabela Category şi noua categorie adăugată
Vizualizare tabela Category şi noua categorie 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.

Insert în tabela category_description OpenCart
Insert în tabela category_description OpenCart

Î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.

Vizualizare tabela category_description după adăugarea descrierei pentru categoria cu id-ul 65
Vizualizare tabela category_description după adăugarea descrierei pentru categoria cu id-ul 65

 

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.

Adăugare categorie în tabela category_to_store
Adăugare categorie în tabela category_to_store

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.

Vizualizare categorie adăugată în Admin OpenCart
Vizualizare categorie adăugată în Admin OpenCart

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.

Vizualizare categorie în Admin OpenCart
Vizualizare categorie în Admin OpenCart
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.

 

 

  1. Adăugare categorii şi produse în OpenCart din admin | DISCERNE

    mai 29, 2016 at 11:20 pm

    […] (C) Bianca Roxana Ionel. Preluare de pe blogul ei, unde a fost publicat aici. Reproducere cu permisiunea scrisă a […]

  2. OpenCart - scurtă introducere - Bianca Ionel - Professional Blog

    ianuarie 22, 2016 at 11:45 am

    […] Adăugare categorie în OpenCart (viziune asupra bazei de date) […]

  3. 5 sfaturi aplicabile în Magento Community | Bianca Ionel - Acorduri din suflet

    martie 30, 2015 at 12:04 pm

    […] Adăugare categorie în OpenCart (viziune asupra bazei de date) […]

Leave a Reply

%d blogeri au apreciat:
Mai multe despre IT, OpenCart
Introducere în OpenCart

OpenCart este o soluţie CMS open source pentru comerţul electronic, bazată pe PHP şi MySQL. Un CMS (CONTENT MANAGEMENT SYSTEM)...

Închide