- Introduced FilemanagerController to handle file manager access and URL generation. - Added ProductArchiveController for managing archived products, including listing and unarchiving functionality. - Implemented Site class with methods for finalizing admin login and handling special actions. - Created ShopProduct control class for managing product operations, including mass editing, product duplication, and image handling. - Added necessary methods for product management, including saving, deleting, and changing product statuses.
162 lines
3.8 KiB
Markdown
162 lines
3.8 KiB
Markdown
# Struktura bazy danych shopPRO
|
|
|
|
Plik aktualizowany na bieżąco przy zmianach w kodzie.
|
|
ORM: Medoo (`$mdb`), prefix tabel: `pp_`
|
|
|
|
## pp_shop_products
|
|
Główna tabela produktów.
|
|
|
|
| Kolumna | Opis |
|
|
|---------|------|
|
|
| id | PK |
|
|
| parent_id | FK do produktu nadrzędnego (kombinacje) - NULL dla produktów głównych |
|
|
| price_brutto | Cena brutto |
|
|
| price_brutto_promo | Cena promocyjna brutto |
|
|
| quantity | Stan magazynowy |
|
|
| status | Status: 1 = aktywny, 0 = nieaktywny |
|
|
| archive | Archiwum: 1 = zarchiwizowany, 0 = aktywny |
|
|
| promoted | Czy promowany |
|
|
| vat | Stawka VAT |
|
|
| ean | Kod EAN |
|
|
| sku | Kod SKU |
|
|
| baselinker_product_name | Nazwa produktu w Baselinker |
|
|
| apilo_product_name | Nazwa produktu w Apilo |
|
|
|
|
**Używane w:** `Domain\Product\ProductRepository`, `admin\factory\ShopProduct`
|
|
|
|
## pp_shop_products_langs
|
|
Tłumaczenia produktów (per język).
|
|
|
|
| Kolumna | Opis |
|
|
|---------|------|
|
|
| id | PK |
|
|
| product_id | FK do pp_shop_products |
|
|
| lang_id | ID języka (np. 'pl') |
|
|
| name | Nazwa produktu |
|
|
|
|
**Używane w:** `Domain\Product\ProductRepository::getName()`
|
|
|
|
## pp_shop_products_images
|
|
Zdjęcia produktów.
|
|
|
|
| Kolumna | Opis |
|
|
|---------|------|
|
|
| id | PK |
|
|
| product_id | FK do pp_shop_products |
|
|
| src | Ścieżka do pliku |
|
|
| alt | Tekst alternatywny |
|
|
|
|
## pp_shop_products_categories
|
|
Przypisanie produktów do kategorii.
|
|
|
|
| Kolumna | Opis |
|
|
|---------|------|
|
|
| product_id | FK do pp_shop_products |
|
|
|
|
**Używane w:** `admin\factory\ShopProduct::product_delete()`
|
|
|
|
## pp_banners
|
|
Banery.
|
|
|
|
| Kolumna | Opis |
|
|
|---------|------|
|
|
| id | PK |
|
|
| name | Nazwa banera |
|
|
| status | 0/1 |
|
|
| date_start | Data rozpoczęcia |
|
|
| date_end | Data zakończenia |
|
|
| home_page | Czy na stronie głównej 0/1 |
|
|
|
|
**Używane w:** `Domain\Banner\BannerRepository`
|
|
|
|
## pp_banners_langs
|
|
Tłumaczenia banerów.
|
|
|
|
| Kolumna | Opis |
|
|
|---------|------|
|
|
| id | PK |
|
|
| id_banner | FK do pp_banners |
|
|
| id_lang | ID języka |
|
|
| src | Ścieżka do grafiki |
|
|
| url | URL docelowy |
|
|
| html | Kod HTML |
|
|
| text | Tekst |
|
|
|
|
**Używane w:** `Domain\Banner\BannerRepository`
|
|
|
|
## pp_articles
|
|
Artykuły.
|
|
|
|
| Kolumna | Opis |
|
|
|---------|------|
|
|
| id | PK |
|
|
| status | -1 = archiwum, 0 = nieaktywny, 1 = aktywny |
|
|
|
|
**Używane w:** `admin\controls\ArticlesArchive`, `Domain\Article\ArticleRepository::find()`
|
|
|
|
## pp_articles_pages
|
|
Strony artykułów.
|
|
|
|
| Kolumna | Opis |
|
|
|---------|------|
|
|
| article_id | FK do pp_articles |
|
|
| page_id | FK do strony (pp_pages) |
|
|
| o | Kolejność |
|
|
|
|
**Używane w:** `Domain\Article\ArticleRepository::find()`, `Domain\Article\ArticleRepository::deleteNonassignedImages()`
|
|
|
|
## pp_articles_langs
|
|
Tłumaczenia artykułów.
|
|
|
|
| Kolumna | Opis |
|
|
|---------|------|
|
|
| article_id | FK do pp_articles |
|
|
| lang_id | ID języka (np. 'pl') |
|
|
| title | Tytuł artykułu |
|
|
| seo_link | Link SEO artykułu |
|
|
|
|
**Używane w:** `Domain\Article\ArticleRepository::find()`, `Domain\Article\ArticleRepository::deleteNonassignedFiles()`
|
|
|
|
## pp_articles_images
|
|
Zdjęcia artykułów.
|
|
|
|
| Kolumna | Opis |
|
|
|---------|------|
|
|
| article_id | FK do pp_articles |
|
|
| src | Ścieżka do pliku |
|
|
| o | Kolejność |
|
|
| id | PK (używane też do sortowania DESC) |
|
|
|
|
**Używane w:** `Domain\Article\ArticleRepository::find()`
|
|
|
|
## pp_articles_files
|
|
Pliki artykułów.
|
|
|
|
| Kolumna | Opis |
|
|
|---------|------|
|
|
| article_id | FK do pp_articles |
|
|
| src | Ścieżka do pliku |
|
|
|
|
**Używane w:** `Domain\Article\ArticleRepository::find()`
|
|
|
|
## pp_units
|
|
Jednostki/slowniki (np. jednostki produktu).
|
|
|
|
| Kolumna | Opis |
|
|
|---------|------|
|
|
| id | PK |
|
|
|
|
**Używane w:** `Domain\Dictionaries\DictionariesRepository`, `admin\controls\ShopProduct`
|
|
|
|
## pp_units_langs
|
|
Tlumaczenia jednostek (per jezyk).
|
|
|
|
| Kolumna | Opis |
|
|
|---------|------|
|
|
| id | PK |
|
|
| unit_id | FK do pp_units |
|
|
| lang_id | ID jezyka (np. 'pl') |
|
|
| text | Nazwa jednostki |
|
|
|
|
**Używane w:** `Domain\Dictionaries\DictionariesRepository`
|