Files
kikiriki.sklep.pl/memory/blog-module-plan.md
Jacek Pyziak 5f93428041 Add Project-Pro Blog module with initial SQL setup, CSS styles, and template files
- 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.
2026-03-03 15:24:51 +01:00

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_upd
  • category_lang — id_category, id_lang, name, description, link_rewrite, meta_title, meta_keywords, meta_description
  • post — id, active, thumbnail, date_add, date_upd
  • post_lang — id_post, id_lang, title, intro, content, link_rewrite, meta_title, meta_keywords, meta_description
  • post_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 + paginacja
  • post.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