- Created SQL installation scripts for categories and posts tables. - Added uninstall scripts to drop the created tables. - Introduced CSS styles for blog layout, including responsive design for posts and categories. - Implemented PHP redirection in index files to prevent direct access. - Developed Smarty templates for blog category tree, post list, and individual post details. - Ensured proper caching headers in PHP files to enhance performance.
2.7 KiB
2.7 KiB
Plan modułu Blog — Project-Pro Blog
Dane modułu
- Nazwa wyświetlana:
Project-Pro Blog - Nazwa techniczna (katalog/klasa):
projectproblog - Autor:
Project-Pro - URL autora:
https://www.project-pro.pl - PrestaShop: 1.7.8.11
Etapy
Etap 1 — Baza danych
Tabele z prefiksem pr_projectproblog_:
category— id, id_parent, active, position, date_add, date_updcategory_lang— id_category, id_lang, name, description, link_rewrite, meta_title, meta_keywords, meta_descriptionpost— id, active, thumbnail, date_add, date_updpost_lang— id_post, id_lang, title, intro, content, link_rewrite, meta_title, meta_keywords, meta_descriptionpost_category— id_post, id_category (relacja many-to-many)
Etap 2 — Szkielet modułu (projectproblog.php)
- Klasa
Projectproblog extends Module - install() → SQL + taby admina + hooki
- uninstall() → drop tabel + usunięcie tabów
- Rejestracja ModuleFrontController (przyjazne URL-e)
- Konfiguracja: liczba wpisów na stronę (domyślnie 9)
Etap 3a — Admin: kategorie (AdminProjectproBlogCategoriesController)
- Lista: nazwa, rodzic, aktywna, pozycja
- Formularz (multilang): nazwa, opis, link_rewrite, meta_title/keywords/description
- Pola: id_parent (select), active (toggle), position
Etap 3b — Admin: wpisy (AdminProjectproBlogPostsController)
- Lista: miniaturka, tytuł, kategorie, data dodania, aktywny
- Formularz (multilang): tytuł, wstęp, treść (TinyMCE), link_rewrite, meta_title/keywords/description
- Upload miniaturki z podglądem
- Checkboxy przypisania do wielu kategorii
- Toggle aktywny, daty auto
Etap 4a — Front: lista (list.php ModuleFrontController)
- URL: /blog i /blog/kategoria/{link_rewrite}
- Filtrowanie po kategorii, stronicowanie
- Dane do Smarty: wpisy, drzewo kategorii, bieżąca kategoria, paginacja
Etap 4b — Front: szczegół (post.php ModuleFrontController)
- URL: /blog/wpis/{link_rewrite}
- Meta title/description/keywords w <head>
- Dane: wpis, kategorie wpisu, breadcrumb
Etap 5 — Szablony Smarty
list.tpl— layout 2-kolumnowy: lewa=drzewo kategorii, prawa=siatka wpisów 2-kol + paginacjapost.tpl— miniaturka, h1, wstęp wyróżniony, treść HTML, daty, breadcrumb_category-tree.tpl— partial z drzewem (include w list.tpl)
Etap 6 — Routing i SEO
- Trasy: /blog, /blog/kategoria/{slug}, /blog/wpis/{slug}
- link_rewrite generowany z tytułu
- Canonical URL w szablonach
Status etapów
- Etap 1 — Baza danych
- Etap 2 — Szkielet modułu
- Etap 3a — Admin kategorie
- Etap 3b — Admin wpisy
- Etap 4a — Front lista
- Etap 4b — Front szczegół
- Etap 5 — Szablony
- Etap 6 — Routing i SEO