Lucrul cu proprietăți suplimentare

Implementat un singur magazin al listei de proprietăți pentru sistemele informatice, un magazin online, structura site-ului și utilizatorii site-ului, cu separarea valorilor de stocare în mai multe tabele. Toate proprietățile sunt stocate în tabelul proprietăților. Secțiuni de proprietăți suplimentare din tabela property_dirs.







Valorile proprietăților suplimentare sunt stocate în șase tabele diferite, în funcție de tipul de proprietate: property_value_datetimes, property_value_files, property_value_floats, property_value_ints, property_value_strings, property_value_texts.

linkedObjects

Pentru a accesa lista de proprietăți suplimentare utilizate model special (noi le numim linkedObject) cu link-uri personalizate pentru proprietățile tabelelor, moștenite de la modelele corespunzătoare. De exemplu, Shop_Item_Property_List_Model moștenită de la Shop_Model.

linkedObjects proprietățile grupurilor de sisteme informatice

linkedObjects proprietățile elementelor sistemului de informații

linkedObiecte de proprietăți ale grupurilor de magazine

linkedObjects proprietăți ale magazinului de bunuri

linkedObjects comenzile de magazin

linkedObiectează structura site-ului

linkedObiecte ale utilizatorilor site-ului

Obținerea unei liste de proprietăți suplimentare prin intermediul linkObject

Obținerea unei liste de proprietăți suplimentare ale produselor. disponibil pentru grupul de magazine

Obținerea unei liste de secțiuni de proprietăți suplimentare

Preluarea unui obiect de proprietate suplimentar

Obținerea unui obiect de proprietate suplimentar prin identificatorul său (vezi ORM)

Preluarea valorilor suplimentare ale proprietăților

Deoarece fiecare proprietate suplimentară poate avea mai multe valori, atunci în matricea de valori poate fi zero, una sau mai multe valori.

Obținerea unei game de valori de proprietăți suplimentare din valoarea proprietății.

În funcție de tipul de proprietate suplimentară, obiectul valorii poate avea atribute:







  • id - cheie primară;
  • property_id - identificator de proprietate;
  • entity_id - identificatorul obiectului pentru care este specificată valoarea;
  • valoarea este o valoare.

pentru proprietățile tipului de fișier:

  • id - cheie primară;
  • property_id - identificator de proprietate;
  • entity_id - identificatorul obiectului pentru care este specificată valoarea;
  • fișier - numele fișierului în sistemul de fișiere;
  • file_name - numele fișierului original;
  • file_description - descrierea fișierului;
  • file_small - numele fișierului mic din sistemul de fișiere;
  • file_small_name - numele original al fișierului imagine mic;
  • file_small_description - descrierea fișierului imagine mic.

Preluarea tuturor valorilor proprietăților obiectului prin intermediul getPropertyValues ​​()

În plus, modelele de grupuri și elemente ale sistemelor informatice, grupurile de magazine și bunuri, structura site-ului și utilizatorii site-ului au metoda getPropertyValues ​​(). care returnează toate valorile proprietăților suplimentare ale acestui obiect.

Crearea unei valori de proprietate suplimentare

Folosind metoda createNewValue (), obținem obiectul unei noi valori a proprietății suplimentare, care depinde de tipul proprietății suplimentare. Argumentul trece identificatorul obiectului pentru care este creată valoarea.

Modificați sau setați valoarea proprietății suplimentare, dacă valoarea nu a fost valabilă

Specificarea directorului de locație pentru proprietățile fișierului

Proprietatea suplimentară nu știe despre locația fișierelor, care necesită specificarea unor astfel de directoare pentru valoarea proprietății.

Un exemplu de indicație pentru o structură a unui site

pentru grupul de informații

pentru un element de informare

pentru grupul de magazine

Permiterea proprietății unui produs pentru un grup de magazine

În magazinul online, pentru fiecare grup de produse sunt indicate proprietățile bunurilor disponibile pentru bunurile din acest grup. Activarea proprietății $ oProperty pentru grupul de magazine $ oShop_Group:

Transferarea valorilor proprietăților dintr-o tabelă în alta atunci când se modifică tipul de proprietate

Valorile proprietăților sunt stocate în tabele care depind de tipul de proprietate. Dacă schimbați tipul de proprietate, poate fi necesar să mutați valorile dintr-o tabelă în alta. Luați în considerare exemplul de tipul cu o schimbare de linie de proprietăți (property_value_strings) pe caseta de text mare (property_value_texts) pentru a schimba proprietățile camerei 17. Transferul de tipul de proprietate de valori de proprietate în tabelul de tabel șir text:

Verificăm prezența valorilor cu un tip nou, dacă totul este normal, apoi ștergeți valorile din tabelul de tip anterior:

Nu ați găsit răspunsul la întrebarea dvs. în documentație? Trimiteți o adresă sau chat online.







Articole similare

Trimiteți-le prietenilor: